Jump to content

classic [L2J] L2 Netherrealm


Recommended Posts

Guest Elfocrash
Posted

Gearing UP inside the NetherRealm

 

So here is another core feature i would like to show and inside that part i will also include some parts of what "Stuff" you will be able to buy with donation.

 

So every time you hit a level which your grade changes (20/40/52/61/76) you will be able to instantly get the gear for that grade.

This feature will last until the level 76 and the point where you get your first S armor and weapon. Note here that all of these items you get for free.

From that point you are on your own. Every 10 enchants on a part of armor or weapon your item will reset enchant but it will also get 10% Nether power.

So lets say i have my gloves of draconic armor on +9 after that the gloves will go +0 but they will get a 10% after their name.

When every single part of armor and weapon go 100% it will automatically change to the next grade item which in that case is Dynasty gear.

 

How you gonna enchant?

Simple. Just PvP.

Yeah guys it is simple pvp. There will be zones sorted out by gear in which you will be unknown between unknowns. Your name changes, your clan crest is hidden and you appearance changes to the opposite gender. Inside these zones the more you pvp the more chance you have to get +1 on a random part of your armor. The more your gear parts get enchanted and get more % of nether power the less chance they have to be enchanted again. The most difficult stage to get enchanted is obviously the 90%. Pvp is also the best way to XP after lvl 80 where you will need A LOT of XP in order to get to 85.

 

You cannot enchant your gear with enchant scrolls as they are disabled. However there will be some enchanting scrolls which will occupationally be dropped in these pvp areas as pvp rewards.

 

Donations

 

So you will probably see our donation way in beta however it will be disabled. You just donate with a note in paypal sayng "Character: Elfocrash" and when you log you will go to the donation npc, type the trans ID in the textbox and automatically get 1 donation coin for 1 euro.

 

You will not be able to donate gear. Yeah this is a server and a project i put a lot of effort in and i want it to last.

What you will be able to donate will be a potion called "Potion of Combat Vitality" which will double the xp you recieve by 100% and lasts for 1 hour and

10% of nether power.

What i mean? Every time you are in a gear set you will be able to insta buy 10% of nether power in each part of your gear but ONLY ONCE per gear set.

Let me explain.

Lets say i have dynasty on 0%. I can buy to upgrade it by 10% at a time with a max of 50% but this is only for dynasty. After that if i have Vesper i will still be able to buy 50% on vesper too. Prices scale with gear scaling.

 

 

That will be worst then .

If you dont want attributes on armor , you must disable them from weapon aswell

 

I do want to disable completely thats ideal for me. I dont know though if people want them or not.

Posted

I do want to disable completely thats ideal for me. I dont know though if people want them or not.

 

Please disable attributes both from weapon and from armor! That would be perfect... It is known that attributes affect balance in a bad way and they make it hard for a newcomer to fight against a veteran! In my point of view attributes have a bad effect on gameplaay generally

Guest Elfocrash
Posted

Thanks to Romeo for this banner.

 

NDWSjI4.gif

Posted

This pvp enchanting system is really nice and unique, also yes if you will remove attributes from armors then remove them from weapons too.

Guest Elfocrash
Posted

So... The beta is going to open today? :D

Not today as i said some posts before it will open the day after tomorrow and the patches will be added one by one so you wont see everythiung from the first moment in there,

Posted

Not today as i said some posts before it will open the day after tomorrow and the patches will be added one by one so you wont see everythiung from the first moment in there,

Too bad, i wanted to play so bad :D . Anyway 2 days is nothing :)
Guest Elfocrash
Posted

Too bad, i wanted to play so bad :D . Anyway 2 days is nothing :)

Fair enough but dont expect anything from the first moment. First i will add Spectral dancer reworked and then Sword muse and after that one by one the other classes.

Then pvp has it's time and so on :)

See you there.

Posted

I want to clear some things about this **type of enchant system** in my mind.

Ex: you said that all will be pvping each other and with pvp's u gonna take dynasty after that vesper bla bla bla, But when a guy improove his armor to Dynasty he will pvp with the same players on S grade or vesper/elegia? Or there will be any type of levels? I mean that after you take the dynasty you will fight against people with dynasty right?

Guest Elfocrash
Posted

I want to clear some things about this **type of enchant system** in my mind.

Ex: you said that all will be pvping each other and with pvp's u gonna take dynasty after that vesper bla bla bla, But when a guy improove his armor to Dynasty he will pvp with the same players on S grade or vesper/elegia? Or there will be any type of levels? I mean that after you take the dynasty you will fight against people with dynasty right?

yeah once you got dynasty you can no more see lowbies in that area and you start phasing people with the same gear you wear (or at least the same name of gear)

 

One question Elfo.

 

When someone upgrades armor or weapon , does he have the chance to choose which one he will upgrade it to?

Because  ex from S it will go on Dynasty OR Icarus  , and the armor From Vesper to  the other s84 aswell

Is it possible?

 

Last time i checked it was S<Dynasty<Icarus<Vesper<Vorpal<Elegia isn't that right?

Sorry but gearing is lower prio than making the class. Correct me on the above if im wrong.

Posted

can we have a vote about the custome farm zone that players will farm on it not the stuff :D or u just will put the one u like and fuck every one eals !!!?

Guest Elfocrash
Posted

can we have a vote about the custome farm zone that players will farm on it not the stuff :D or u just will put the one u like and -beep- every one eals !!!?

i won't use a stupid one. However i'm not gonna ask either cuz everyone will have his own.

Posted

Saw some posts about attribute removal from armors but existing ones on weapons...Keeping atts on weapons means everyone will enchant skills on att instead of duel and you will probably(almost for sure) see 5 digits dmg from some classes...Overall you have nice,unique and interesting ideas but this one is really tricky,game changing.(to the worse unfortunatelly  :poker face: )

Posted

He is probably talking about the complete removal of the attribute SYSTEM not just the stones. probably he will remove the attr enchant skill trees or removing the effects that they give so enchanting to any specific attribute will just enchant the skill effect

Guest
This topic is now closed to further replies.



  • 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