From 06041578a86a8d54b89df5d026083e9c0c00d01b Mon Sep 17 00:00:00 2001 From: RedSparr0w Date: Sat, 21 Sep 2019 09:41:19 +1200 Subject: [PATCH] Revert "remove clan ranks and admin extras" This reverts commit 9851e5964fa1bf28f0bd2a86cf7be0925737b9b8. --- .../crandor/game/node/entity/npc/agg/AggressiveHandler.java | 4 +++- .../src/org/crandor/game/node/entity/player/Player.java | 2 +- .../game/node/entity/player/link/grave/GraveManager.java | 3 +++ .../src/org/crandor/game/system/communication/ClanRank.java | 2 +- .../crandor/game/system/communication/ClanRepository.java | 5 ++++- .../crandor/game/system/communication/CommunicationInfo.java | 2 +- .../src/plugin/interaction/inter/ClanInterfacePlugin.java | 2 +- 7 files changed, 14 insertions(+), 6 deletions(-) diff --git a/09HDscape-server/src/org/crandor/game/node/entity/npc/agg/AggressiveHandler.java b/09HDscape-server/src/org/crandor/game/node/entity/npc/agg/AggressiveHandler.java index 947c285a8..f30744549 100644 --- a/09HDscape-server/src/org/crandor/game/node/entity/npc/agg/AggressiveHandler.java +++ b/09HDscape-server/src/org/crandor/game/node/entity/npc/agg/AggressiveHandler.java @@ -81,7 +81,9 @@ public final class AggressiveHandler { Entity target = behavior.getLogicalTarget(entity, behavior.getPossibleTargets(entity, radius)); if (target instanceof Player) { if (target.getAttribute("ignore_aggression", false)) { - return false; + if (((Player) target).getRights().equals(Rights.ADMINISTRATOR)) { + return false; + } } } if (target != null) { diff --git a/09HDscape-server/src/org/crandor/game/node/entity/player/Player.java b/09HDscape-server/src/org/crandor/game/node/entity/player/Player.java index 03d171457..7fe4f9436 100644 --- a/09HDscape-server/src/org/crandor/game/node/entity/player/Player.java +++ b/09HDscape-server/src/org/crandor/game/node/entity/player/Player.java @@ -501,7 +501,7 @@ public class Player extends Entity { Repository.sendNews("Ultimate ironman "+this.getUsername()+" has just perished."); } packetDispatch.sendTempMusic(90); - if (!getZoneMonitor().handleDeath(killer) && (!getProperties().isSafeZone() && getZoneMonitor().getType() != ZoneType.SAFE.getId())) { + if (!getZoneMonitor().handleDeath(killer) && (!getProperties().isSafeZone() && getZoneMonitor().getType() != ZoneType.SAFE.getId()) && getDetails().getRights() != Rights.ADMINISTRATOR) { GroundItemManager.create(new Item(526), getLocation(), k); final Container[] c = DeathTask.getContainers(this); boolean gravestone = graveManager.generateable() && getIronmanManager().getMode() != IronmanMode.ULTIMATE; diff --git a/09HDscape-server/src/org/crandor/game/node/entity/player/link/grave/GraveManager.java b/09HDscape-server/src/org/crandor/game/node/entity/player/link/grave/GraveManager.java index 0859a46fc..2fc5e7140 100644 --- a/09HDscape-server/src/org/crandor/game/node/entity/player/link/grave/GraveManager.java +++ b/09HDscape-server/src/org/crandor/game/node/entity/player/link/grave/GraveManager.java @@ -93,6 +93,9 @@ public class GraveManager implements SavingModule { * @return {@code True} if so. */ public boolean generateable() { + if (player.getDetails().getRights() == Rights.ADMINISTRATOR && GameWorld.getSettings().isHosted()) { + return false; + } if (player.getSkullManager().isWilderness()) { return false; } diff --git a/09HDscape-server/src/org/crandor/game/system/communication/ClanRank.java b/09HDscape-server/src/org/crandor/game/system/communication/ClanRank.java index 3abf44ad7..73178136e 100644 --- a/09HDscape-server/src/org/crandor/game/system/communication/ClanRank.java +++ b/09HDscape-server/src/org/crandor/game/system/communication/ClanRank.java @@ -5,7 +5,7 @@ package org.crandor.game.system.communication; * @author Emperor */ public enum ClanRank { - NONE(-1, "Anyone"), FRIEND(0, "Any friends"), RECRUIT(1, "Recruit+"), CORPORAL(2, "Corporal+"), SERGEANT(3, "Sergeant+"), LIEUTENANT(4, "Lieutenant+"), CAPTAIN(5, "Captain+"), GENERAL(6, "General+"), OWNER(7, "Only me"); + NONE(-1, "Anyone"), FRIEND(0, "Any friends"), RECRUIT(1, "Recruit+"), CORPORAL(2, "Corporal+"), SERGEANT(3, "Sergeant+"), LIEUTENANT(4, "Lieutenant+"), CAPTAIN(5, "Captain+"), GENERAL(6, "General+"), OWNER(7, "Only me"), KELDAGRIM_MOD(127, "No-one"); /** * The value of the rank. diff --git a/09HDscape-server/src/org/crandor/game/system/communication/ClanRepository.java b/09HDscape-server/src/org/crandor/game/system/communication/ClanRepository.java index df08ee3bb..1eacd5821 100644 --- a/09HDscape-server/src/org/crandor/game/system/communication/ClanRepository.java +++ b/09HDscape-server/src/org/crandor/game/system/communication/ClanRepository.java @@ -61,7 +61,7 @@ public final class ClanRepository { /** * The rank required for loot-share. */ - private ClanRank lootRequirement = ClanRank.CAPTAIN; + private ClanRank lootRequirement = ClanRank.KELDAGRIM_MOD; /** * The members mapping. @@ -312,6 +312,9 @@ public final class ClanRepository { */ public ClanRank getRank(Player player) { ClanRank rank = ranks.get(player.getName()); + if (player.getDetails().getRights() == Rights.ADMINISTRATOR && !player.getName().equals(owner)) { + return ClanRank.KELDAGRIM_MOD; + } if (rank == null) { if (player.getName().equals(owner)) { return ClanRank.OWNER; diff --git a/09HDscape-server/src/org/crandor/game/system/communication/CommunicationInfo.java b/09HDscape-server/src/org/crandor/game/system/communication/CommunicationInfo.java index 5085fbc92..fbf616c35 100644 --- a/09HDscape-server/src/org/crandor/game/system/communication/CommunicationInfo.java +++ b/09HDscape-server/src/org/crandor/game/system/communication/CommunicationInfo.java @@ -72,7 +72,7 @@ public final class CommunicationInfo { /** * The rank required for loot-share. */ - private ClanRank lootRequirement = ClanRank.CAPTAIN; + private ClanRank lootRequirement = ClanRank.KELDAGRIM_MOD; /** * If lootshare is enabled. diff --git a/09HDscape-server/src/plugin/interaction/inter/ClanInterfacePlugin.java b/09HDscape-server/src/plugin/interaction/inter/ClanInterfacePlugin.java index 3e645fde5..3c4416916 100644 --- a/09HDscape-server/src/plugin/interaction/inter/ClanInterfacePlugin.java +++ b/09HDscape-server/src/plugin/interaction/inter/ClanInterfacePlugin.java @@ -72,7 +72,7 @@ public final class ClanInterfacePlugin extends ComponentPlugin { break; case 26: if (opcode == 230) { - clan.setLootRequirement(ClanRank.CAPTAIN); + clan.setLootRequirement(ClanRank.KELDAGRIM_MOD); } else { clan.setLootRequirement(getRank(opcode)); }