Jump to content

Recommended Posts

Posted (edited)

Hello friends!

I'd like to introduce you to a brand new PVP Server, L2Brawl.

Our goal is to provide casual PVP experience, with an emphasis on small group PVP.
To reach that goal, we have decided to add Event Items that were available in the official Lineage II servers during the High Five era, while also starting with good gear without adding anything custom.

We will use our 13 years of Lineage II experience and programming expertise, but more importantly, our common sense to slightly tweak things out to reach our goals. Keep in mind we will only change things that are VERY unpleasant to play against.
We have decided to remove everything but end-game, and also to focus the player-base onto one city: Goddard. With one castle and one fortress, we're trying to set massive fights over the little resources players can get.

 

Some features:

- Instant PVP Server.

- Start Level 85.

- Up to Mid S84 Gear for free.

- Max buffs 32 (+4 from Divine Inspiration)

- Max song/dance 12.

- Buffs lasts 3 hours.

- Custom PVP Zones with Auto-Flag

- PVP Events every half-hour

- Sieges every week, only 1 castle.

- TW disabled for now.

- Heroes every week

- Added official Lineage II event items from High Five era.

- Buffs return after 20 seconds. (for now, until we find a better way).

- Auto use MP CP HP potions.

- Mana Potions cure 100, delay 1 second.

- Safe Enchant +3

 

We will officially launch June 12th!

In the meantime,

 

OUR BETA IS NOW CLOSED! Server will open June 12th, 17:00, UTC

In our beta, everything is free!

 

http://www.l2brawl.net

Edited by Narco
Posted

IT IS NOT OPEN

Oh, that was our bad, the system that was on the website was an older version to our local test server. I just uploaded the system with the correct connection to our dedicated server. I'm very sorry about that.

Posted

crapy projiect

 

I would love to know why you think that, as if you now think that it's crappy, maybe we can work together to improve it.

 

Good luck with that, at least it's not mid rate :)

 

That's on purpose; there are a lot of so called "mid rate" servers, but we found that those servers lack PvP. We made a server that we would live to play ourselves, and we like PvP.

 

mana pots 100 only, safe 3 and max? other server pvp fail.

 

Potions do cure 100, yes. That's a form of class balance actually, as classes like Overlords or Cardinals will need to keep an eye on their mana instead of keeping the finger pressed on Chain Heal. On the other hand, DPS classes will not run out of mana at all, as they don't really consume 100 mana per second. We took this route rather than nerfing skills to ensure that classes maintain their essence.

As for the enchants, we kept the system retail like. Max +20 I guess if you have the balls to break your +16 weapon. This was also a balance decision, as we found that when everyone has weapon, jewelry and set +15+++ an unbalance is generated, specifically with robe and heavy classes. We didn't think a Titan with 28k HP was something healthy to use nor pvp against. We changed this values a lot but found that the best way was to keep it how the game was designed and balance to: safe +3.

There are way more reasons we decided to make this features the way they are, if you'd like to know them, let me know and I'll gladly explain.

Posted

Interesting concept.

 

Perhaps one could consider to make the potion regenerate mana over a duration. For example, 100 mana per second over a duration of 15 seconds. This would regenerate 1500 mp in total but prevents the user from having to continuously click the pot or use an auto-clicker. It should also maintain the balance you seek by limiting the exploitation of mana regeneration and, as you put it, spam chain heal.

Posted

Interesting concept.

 

Perhaps one could consider to make the potion regenerate mana over a duration. For example, 100 mana per second over a duration of 15 seconds. This would regenerate 1500 mp in total but prevents the user from having to continuously click the pot or use an auto-clicker. It should also maintain the balance you seek by limiting the exploitation of mana regeneration and, as you put it, spam chain heal.

 

We considered doing that, but we found that people were still using 3rd party programs to ensure the usage of mana potion right on cooldown. To fix this, we've added a server-side automatic potion use function. Users now just click the potions as if they were a toggle skill, and potions will automatically trigger with 100% efficiency. No 3rd party programs needed to "autopot".

Posted

played 2 days on the server...spent 140 BEAS and i couldnt make a +6 vorpal tunic

any debuff land . ANY DEBUFF..ANY

80% of server are tanks

good luck . Widget

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock