All pastes #739930 Raw Edit

Something

public text v1 · immutable
·published 2007-10-17 15:58 UTC
rendered paste body
Index: java/net/sf/l2j/gameserver/CastleUpdater.java
===================================================================
--- java/net/sf/l2j/gameserver/CastleUpdater.java	(revision 1224)
+++ java/net/sf/l2j/gameserver/CastleUpdater.java	(working copy)
@@ -17,10 +17,9 @@
  */
 package net.sf.l2j.gameserver;
 
-import net.sf.l2j.gameserver.instancemanager.CastleManager;
+import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.model.ItemContainer;
 import net.sf.l2j.gameserver.model.L2Clan;
-import net.sf.l2j.gameserver.model.entity.Castle;
 import net.sf.l2j.util.Rnd;
 
 
@@ -44,30 +43,13 @@
 		public void run()
 		{
 		    try {
-                // Move current castle treasury to clan warehouse every 2 hour
 		    	ItemContainer warehouse = _clan.getWarehouse();
 		        if ((warehouse != null)&&(_clan.getHasCastle() > 0))
 		        {
-                    if (_runCount % 2 == 0)
-                    {
-                        Castle castle = CastleManager.getInstance().getCastleById(_clan.getHasCastle());
-
-                        int amount = castle.getTreasury();
-                        if (amount > 0)
-                        {
-                            // Move the current treasury amount to clan warehouse
-                        	if (castle.addToTreasuryNoTax(amount * -1))
-                        		warehouse.addItem("Castle", 57, amount, null, null);
-                            
-                        }
-                    }
-
-                    // TODO: Check if those free items to clanWH are correct.  As far as I can find, 
-                    // castle owners normally earn these items via the manor system!  -- Fulminus
-                    
+		        	// If Manor System is disabled:
                     // Give clan 1 Dualsword Craft Stamp every 3 hour (8 per day)
                     // Give clan ~1 Secret Book of Giants daily (it's been confirmed that castle owners get these, but method is unknown)
-                    if (_runCount % 3 == 0)
+                    if (_runCount % 3 == 0 && !Config.ALLOW_MANOR)
                     {
                     	warehouse.addItem("Castle", 5126, 1, null, null);
                     	if (Rnd.get(100) < 25) warehouse.addItem("Castle", 6622, 1, null, null);
@@ -76,7 +58,6 @@
                     _runCount++;
                     if (_runCount == 7) _runCount = 1;
 
-                    // FIXME: Why are we rescheduling in this manner, instead of scheduling with fixed rate from the beginning? 
                     // re-run again in 1 hours
                     CastleUpdater cu = new CastleUpdater(_clan, _runCount);
                     ThreadPoolManager.getInstance().scheduleGeneral(cu, 3600000);
Index: java/net/sf/l2j/gameserver/model/entity/Castle.java
===================================================================
--- java/net/sf/l2j/gameserver/model/entity/Castle.java	(revision 1224)
+++ java/net/sf/l2j/gameserver/model/entity/Castle.java	(working copy)
@@ -25,6 +25,7 @@
 import java.util.logging.Logger;
 
 import javolution.util.FastList;
+import net.sf.l2j.Config;
 import net.sf.l2j.L2DatabaseFactory;
 import net.sf.l2j.gameserver.Announcements;
 import net.sf.l2j.gameserver.CastleUpdater;
@@ -102,27 +103,30 @@
     {
         if (getOwnerId() <= 0) return;
 
-        if (_name.equalsIgnoreCase("Schuttgart") || _name.equalsIgnoreCase("Goddard"))
+        if (amount > 0)
         {
-        	Castle rune = CastleManager.getInstance().getCastle("rune");
-        	if (rune != null )
-        	{
-        		int runeTax = (int)(amount * rune.getTaxRate());
-        		if (rune.getOwnerId() > 0 ) rune.addToTreasury(runeTax);
-        		amount -= runeTax;
-        	}
+	        if (_name.equalsIgnoreCase("Schuttgart") || _name.equalsIgnoreCase("Goddard"))
+	        {
+	        	Castle rune = CastleManager.getInstance().getCastle("rune");
+	        	if (rune != null )
+	        	{
+	        		int runeTax = (int)(amount * rune.getTaxRate());
+	        		if (rune.getOwnerId() > 0 ) rune.addToTreasury(runeTax);
+	        		amount -= runeTax;
+	        	}
+	        }
+	        if (!_name.equalsIgnoreCase("aden") && !_name.equalsIgnoreCase("Rune") && !_name.equalsIgnoreCase("Schuttgart") && !_name.equalsIgnoreCase("Goddard"))    // If current castle instance is not Aden, Rune, Goddard or Schuttgart.
+	        {
+	            Castle aden = CastleManager.getInstance().getCastle("aden");
+	            if (aden != null)
+	            {
+	                int adenTax = (int)(amount * aden.getTaxRate());        // Find out what Aden gets from the current castle instance's income
+	                if (aden.getOwnerId() > 0) aden.addToTreasury(adenTax); // Only bother to really add the tax to the treasury if not npc owned
+	                    
+	                amount -= adenTax; // Subtract Aden's income from current castle instance's income
+	            }
+	        }
         }
-        if (!_name.equalsIgnoreCase("aden") && !_name.equalsIgnoreCase("Rune") && !_name.equalsIgnoreCase("Schuttgart") && !_name.equalsIgnoreCase("Goddard"))    // If current castle instance is not Aden, Rune, Goddard or Schuttgart.
-        {
-            Castle aden = CastleManager.getInstance().getCastle("aden");
-            if (aden != null)
-            {
-                int adenTax = (int)(amount * aden.getTaxRate());        // Find out what Aden gets from the current castle instance's income
-                if (aden.getOwnerId() > 0) aden.addToTreasury(adenTax); // Only bother to really add the tax to the treasury if not npc owned
-                    
-                amount -= adenTax; // Subtract Aden's income from current castle instance's income
-            }
-        }
         
         addToTreasuryNoTax(amount);
     }
@@ -410,7 +414,7 @@
         	    _ownerId = rs.getInt("clan_id");
             }
 
-            if (getOwnerId() > 0)
+            if (!Config.ALLOW_MANOR && getOwnerId() > 0)
             {
                 L2Clan clan = ClanTable.getInstance().getClan(getOwnerId());                        // Try to find clan instance 
                 ThreadPoolManager.getInstance().scheduleGeneral(new CastleUpdater(clan, 1), 3600000);     // Schedule owner tasks to start running 
@@ -576,7 +580,8 @@
     		    new Announcements().announceToAll(clan.getName() + " has taken " + getName() + " castle!");
     		    clan.broadcastToOnlineMembers(new PledgeShowInfoUpdate(clan));
 
-    		    ThreadPoolManager.getInstance().scheduleGeneral(new CastleUpdater(clan, 1), 3600000);	// Schedule owner tasks to start running 
+    		    if (!Config.ALLOW_MANOR)
+    		    	ThreadPoolManager.getInstance().scheduleGeneral(new CastleUpdater(clan, 1), 3600000);	// Schedule owner tasks to start running 
             }
         }
         catch (Exception e)