Example #1
0
		public static void OnLoad( )
		{
			Console.WriteLine("CoreAI Loading...");
			string filePath = Path.Combine( "Saves/AngelIsland", "CoreAI.xml" );

			if ( !File.Exists( filePath ) )
				return;

			XmlDocument doc = new XmlDocument();
			doc.Load( filePath );

			XmlElement root = doc["CoreAI"];

			StingerMinHP = GetValue( root["StingerMinHP"], StingerMinHP );
			StingerMaxHP = GetValue( root["StingerMaxHP"], StingerMaxHP );
			StingerMinDamage = GetValue( root["StingerMinDamage"], StingerMinDamage );
			StingerMaxDamage = GetValue( root["StingerMaxDamage"], StingerMaxDamage );
//			CellGuardSpawnFreq = GetValue( root["CellGuardSpawnFreq"], CellGuardSpawnFreq );
			CellGuardStrength = GetValue( root["CellGuardStrength"], CellGuardStrength );
			CellGuardSkillLevel = GetValue( root["CellGuardSkillLevel"], CellGuardSkillLevel );
			CellGuardNumRegDrop = GetValue( root["CellGuardNumRegDrop"], CellGuardNumRegDrop );
			GuardSpawnRestartDelay = GetValue( root["GuardSpawnRestartDelay"], GuardSpawnRestartDelay );
			GuardSpawnExpireDelay = GetValue( root["GuardSpawnExpireDelay"], GuardSpawnExpireDelay );
//			PostGuardSpawnFreq = GetValue( root["PostGuardSpawnFreq"], PostGuardSpawnFreq );
			PostGuardStrength = GetValue( root["PostGuardStrength"], PostGuardStrength );
			PostGuardSkillLevel = GetValue( root["PostGuardSkillLevel"], PostGuardSkillLevel );
			PostGuardNumRegDrop = GetValue( root["PostGuardNumRegDrop"], PostGuardNumRegDrop );
			PostGuardNumBandiesDrop = GetValue( root["PostGuardNumBandiesDrop"], PostGuardNumBandiesDrop );
			PostGuardNumGHPotDrop = GetValue( root["PostGuardNumGHPotDrop"], PostGuardNumGHPotDrop );
			CaptainGuardStrength = GetValue( root["CaptainGuardStrength"], CaptainGuardStrength );
			CaptainGuardSkillLevel = GetValue( root["CaptainGuardSkillLevel"], CaptainGuardSkillLevel );
			CaptainGuardWeapDrop = GetValue( root["CaptainGuardWeapDrop"], CaptainGuardWeapDrop );
			CaptainGuardNumRegDrop = GetValue( root["CaptainGuardNumRegDrop"], CaptainGuardNumRegDrop );
			CaptainGuardNumBandiesDrop = GetValue( root["CaptainGuardNumBandiesDrop"], CaptainGuardNumBandiesDrop );
			CaptainGuardGHPotsDrop = GetValue( root["CaptainGuardGHPotsDrop"], CaptainGuardGHPotsDrop );
			CaptainGuardScrollDrop = GetValue( root["CaptainGuardScrollDrop"], CaptainGuardScrollDrop );
			CaptainGuardNumLighthousePasses = GetValue( root["CaptainGuardNumLighthousePasses"], CaptainGuardNumLighthousePasses );
			CavePortalAvailability = GetValue( root["CavePortalAvailability"], CavePortalAvailability );
//			CaptainGuardLeatherSets = GetValue( root["CaptainGuardLeatherSets"], CaptainGuardLeatherSets );
//			CaptainGuardRingSets = GetValue( root["CaptainGuardRingSets"], CaptainGuardRingSets );
//			SpiritRespawnFreq = GetValue( root["SpiritRespawnFreq"], SpiritRespawnFreq );
			SpiritRestartDelay = GetValue( root["SpiritRestartDelay"], SpiritRestartDelay );
			SpiritExpireDelay = GetValue( root["SpiritExpireDelay"], SpiritExpireDelay );
			SpiritPortalAvailablity = GetValue( root["SpiritPortalAvailablity"], SpiritPortalAvailablity );
			SpiritFirstWaveNumber = GetValue( root["SpiritFirstWaveNumber"], SpiritFirstWaveNumber );
			SpiritFirstWaveHP = GetValue( root["SpiritFirstWaveHP"], SpiritFirstWaveHP );
			SpiritSecondWaveNumber = GetValue( root["SpiritSecondWaveNumber"], SpiritSecondWaveNumber );
			SpiritSecondWaveHP = GetValue( root["SpiritSecondWaveHP"], SpiritSecondWaveHP );
			SpiritThirdWaveNumber = GetValue( root["SpiritThirdWaveNumber"], SpiritThirdWaveNumber );
			SpiritThirdWaveHP = GetValue( root["SpiritThirdWaveHP"], SpiritThirdWaveHP );
			SpiritBossHP = GetValue( root["SpiritBossHP"], SpiritBossHP );
			SpiritDepotGHPots = GetValue( root["SpiritDepotGHPots"], SpiritDepotGHPots );
			SpiritDepotBandies = GetValue( root["SpiritDepotBandies"], SpiritDepotBandies );
			SpiritDepotReagents = GetValue( root["SpiritDepotReagents"], SpiritDepotReagents );
			SpiritDepotRespawnFreq = GetValue( root["SpiritDepotRespawnFreq"], SpiritDepotRespawnFreq );

			// GSGG values
            Server.Mobiles.PlayerMobile.GSGG = GetDouble(GetText(root["GSGGTime"], "0.0"), 0.0);

			// PowderOfTranslocation availability
			PowderOfTranslocationAvail = GetDouble( GetText(root["PowderOfTranslocationAvail"], ""), PowderOfTranslocationAvail );

			DynamicFeatures = GetValue( root["DynamicFeatures"], DynamicFeatures );

			// more supply depot supplies
			SpiritDepotTRPots = GetValue( root["SpiritDepotTRPots"], SpiritDepotTRPots );

			// AIP spirit spawn virtual armor
			SpiritFirstWaveVirtualArmor = GetValue( root["SpiritFirstWaveVirtualArmor"], SpiritFirstWaveVirtualArmor );
			SpiritSecondWaveVirtualArmor = GetValue( root["SpiritSecondWaveVirtualArmor"], SpiritSecondWaveVirtualArmor );
			SpiritThirdWaveVirtualArmor = GetValue( root["SpiritThirdWaveVirtualArmor"], SpiritThirdWaveVirtualArmor );
			SpiritBossVirtualArmor = GetValue( root["SpiritBossVirtualArmor"], SpiritBossVirtualArmor );

			// Treasure Map Drop Rate
			TreasureMapDrop = GetDouble( GetText(root["TreasureMapDrop"], ""), TreasureMapDrop );

			// temp vars used for system tuning
			TempDouble = GetDouble( GetText(root["TempDouble"], ""), TempDouble );
			TempInt = GetValue( root["TempInt"], TempInt );

			// purple potion explosion factors
			ExplosionPotionSensitivityLevel = GetValue( root["ExplPotSensitivity"], ExplosionPotionSensitivityLevel );
			ExplosionPotionChance = GetDouble( GetText(root["ExplPotChance"], ""), ExplosionPotionChance );

			// murder count vars
			OfflineShortsDecayHours = GetValue( root["OfflineShortsHours"], OfflineShortsDecayHours );
			OfflineShortsDecay = GetValue( root["OfflineShortsDecay"], 0 );

			ExplosionPotionTargetMethod = (EPTM)GetValue( root["ExplosionPotionTargetMethod"], (int)ExplosionPotionTargetMethod );

			ExplosionPotionThreshold = GetDouble( GetText(root["ExplosionPotionThreshold"], ""), ExplosionPotionThreshold );

			// town crier cost
			TownCrierWordMinuteCost = GetValue( root["TownCrierWordMinuteCost"], TownCrierWordMinuteCost );

			// spirit cohesion controls
			CohesionBaseDelay = GetValue( root["CohesionBaseDelay"], CohesionBaseDelay );
			CohesionLowerDelay = GetValue( root["CohesionLowerDelay"], CohesionLowerDelay );
			CohesionFactor = GetValue( root["CohesionFactor"],CohesionFactor );

			// enchanted scroll drop chance
			EScrollChance = GetDouble( GetText(root["EScrollChance"], ""), EScrollChance );

			// enchanted scroll success chance adjuster
			EScrollChance = GetDouble( GetText(root["EScrollSuccess"], ""), EScrollSuccess );

			// chance to broadcast newly IDOC houses over TCCS
			IDOCBroadcastChance = GetDouble( GetText(root["IDOCBroadcastChance"], ""), IDOCBroadcastChance );

			// chance for creatures to ignore re-aggression when not aggressing already
			ReaggressIgnoreChance = GetDouble( GetText(root["ReaggressIgnoreChance"], ""), ReaggressIgnoreChance );

			// base period of confusion for tamed creatures upon paralysis
			ReaggressIgnoreChance = GetDouble( GetText(root["ConfusionBaseDelay"], ""), ConfusionBaseDelay );

			WorldSaveFrequency = GetInt32( GetText(root["WorldSaveFrequency"], "30"), 30 );

			DebugItemDecayOutput = ( GetInt32( GetText(root["DebugItemDecayOutput"], "0"), 0 ) != 0 );

			TCAcctCleanupDays = GetInt32( GetText(root["TCAcctCleanupDays"], "30"), 30 );

			StandingDelay = GetDouble( GetText(root["StandingDelay"], ""), StandingDelay );

			PlayAccessLevel = (AccessLevel)GetValue(root["PlayAccessLevel"], (int)PlayAccessLevel );

			TCAcctCleanupEnable = ( GetInt32( GetText(root["TCAcctCleanupEnable"], "0"), 0 ) != 0 );

			RangedCorrosionModifier = GetInt32(GetText(root["RangedCorrosionModifier"], "0"), 0);

            GWRChangeDelayMinutes = GetInt32(GetText(root["GWRChangeDelayMinutes"], "0"), 0);

			GracePeriod = GetInt32(GetText(root["GracePeriod"], ""), GracePeriod);
			ConnectionFloor = GetInt32(GetText(root["ConnectionFloor"], ""), ConnectionFloor);
			Commission = GetDouble(GetText(root["Commission"], ""), Commission);

			MaxAccountsPerIP = GetInt32(GetText(root["MaxAccountsPerIP"], MaxAccountsPerIP.ToString()), 0);

			MaxAddresses = GetInt32(GetText(root["MaxAddresses"], MaxAddresses.ToString()), 0);
		}
Example #2
0
        public static void OnLoad()
        {
            Console.WriteLine("CoreAI Loading...");
            string filePath = Path.Combine("Saves/AngelIsland", "CoreAI.xml");

            if (!File.Exists(filePath))
            {
                return;
            }

            XmlDocument doc = new XmlDocument();

            doc.Load(filePath);

            XmlElement root = doc["CoreAI"];

            StingerMinHP     = GetValue(root["StingerMinHP"], StingerMinHP);
            StingerMaxHP     = GetValue(root["StingerMaxHP"], StingerMaxHP);
            StingerMinDamage = GetValue(root["StingerMinDamage"], StingerMinDamage);
            StingerMaxDamage = GetValue(root["StingerMaxDamage"], StingerMaxDamage);
            //			CellGuardSpawnFreq = GetValue( root["CellGuardSpawnFreq"], CellGuardSpawnFreq );
            CellGuardStrength      = GetValue(root["CellGuardStrength"], CellGuardStrength);
            CellGuardSkillLevel    = GetValue(root["CellGuardSkillLevel"], CellGuardSkillLevel);
            CellGuardNumRegDrop    = GetValue(root["CellGuardNumRegDrop"], CellGuardNumRegDrop);
            GuardSpawnRestartDelay = GetValue(root["GuardSpawnRestartDelay"], GuardSpawnRestartDelay);
            GuardSpawnExpireDelay  = GetValue(root["GuardSpawnExpireDelay"], GuardSpawnExpireDelay);
            //			PostGuardSpawnFreq = GetValue( root["PostGuardSpawnFreq"], PostGuardSpawnFreq );
            PostGuardStrength               = GetValue(root["PostGuardStrength"], PostGuardStrength);
            PostGuardSkillLevel             = GetValue(root["PostGuardSkillLevel"], PostGuardSkillLevel);
            PostGuardNumRegDrop             = GetValue(root["PostGuardNumRegDrop"], PostGuardNumRegDrop);
            PostGuardNumBandiesDrop         = GetValue(root["PostGuardNumBandiesDrop"], PostGuardNumBandiesDrop);
            PostGuardNumGHPotDrop           = GetValue(root["PostGuardNumGHPotDrop"], PostGuardNumGHPotDrop);
            CaptainGuardStrength            = GetValue(root["CaptainGuardStrength"], CaptainGuardStrength);
            CaptainGuardSkillLevel          = GetValue(root["CaptainGuardSkillLevel"], CaptainGuardSkillLevel);
            CaptainGuardWeapDrop            = GetValue(root["CaptainGuardWeapDrop"], CaptainGuardWeapDrop);
            CaptainGuardNumRegDrop          = GetValue(root["CaptainGuardNumRegDrop"], CaptainGuardNumRegDrop);
            CaptainGuardNumBandiesDrop      = GetValue(root["CaptainGuardNumBandiesDrop"], CaptainGuardNumBandiesDrop);
            CaptainGuardGHPotsDrop          = GetValue(root["CaptainGuardGHPotsDrop"], CaptainGuardGHPotsDrop);
            CaptainGuardScrollDrop          = GetValue(root["CaptainGuardScrollDrop"], CaptainGuardScrollDrop);
            CaptainGuardNumLighthousePasses = GetValue(root["CaptainGuardNumLighthousePasses"], CaptainGuardNumLighthousePasses);
            CavePortalAvailability          = GetValue(root["CavePortalAvailability"], CavePortalAvailability);
            //			CaptainGuardLeatherSets = GetValue( root["CaptainGuardLeatherSets"], CaptainGuardLeatherSets );
            //			CaptainGuardRingSets = GetValue( root["CaptainGuardRingSets"], CaptainGuardRingSets );
            //			SpiritRespawnFreq = GetValue( root["SpiritRespawnFreq"], SpiritRespawnFreq );
            SpiritRestartDelay      = GetValue(root["SpiritRestartDelay"], SpiritRestartDelay);
            SpiritExpireDelay       = GetValue(root["SpiritExpireDelay"], SpiritExpireDelay);
            SpiritPortalAvailablity = GetValue(root["SpiritPortalAvailablity"], SpiritPortalAvailablity);
            SpiritFirstWaveNumber   = GetValue(root["SpiritFirstWaveNumber"], SpiritFirstWaveNumber);
            SpiritFirstWaveHP       = GetValue(root["SpiritFirstWaveHP"], SpiritFirstWaveHP);
            SpiritSecondWaveNumber  = GetValue(root["SpiritSecondWaveNumber"], SpiritSecondWaveNumber);
            SpiritSecondWaveHP      = GetValue(root["SpiritSecondWaveHP"], SpiritSecondWaveHP);
            SpiritThirdWaveNumber   = GetValue(root["SpiritThirdWaveNumber"], SpiritThirdWaveNumber);
            SpiritThirdWaveHP       = GetValue(root["SpiritThirdWaveHP"], SpiritThirdWaveHP);
            SpiritBossHP            = GetValue(root["SpiritBossHP"], SpiritBossHP);
            SpiritDepotGHPots       = GetValue(root["SpiritDepotGHPots"], SpiritDepotGHPots);
            SpiritDepotBandies      = GetValue(root["SpiritDepotBandies"], SpiritDepotBandies);
            SpiritDepotReagents     = GetValue(root["SpiritDepotReagents"], SpiritDepotReagents);
            SpiritDepotRespawnFreq  = GetValue(root["SpiritDepotRespawnFreq"], SpiritDepotRespawnFreq);

            // GSGG values
            Server.Mobiles.PlayerMobile.GSGG = GetDouble(GetText(root["GSGGTime"], "0.0"), 0.0);

            // PowderOfTranslocation availability
            PowderOfTranslocationAvail = GetDouble(GetText(root["PowderOfTranslocationAvail"], ""), PowderOfTranslocationAvail);

            DynamicFeatures = GetValue(root["DynamicFeatures"], DynamicFeatures);

            // more supply depot supplies
            SpiritDepotTRPots = GetValue(root["SpiritDepotTRPots"], SpiritDepotTRPots);

            // AIP spirit spawn virtual armor
            SpiritFirstWaveVirtualArmor  = GetValue(root["SpiritFirstWaveVirtualArmor"], SpiritFirstWaveVirtualArmor);
            SpiritSecondWaveVirtualArmor = GetValue(root["SpiritSecondWaveVirtualArmor"], SpiritSecondWaveVirtualArmor);
            SpiritThirdWaveVirtualArmor  = GetValue(root["SpiritThirdWaveVirtualArmor"], SpiritThirdWaveVirtualArmor);
            SpiritBossVirtualArmor       = GetValue(root["SpiritBossVirtualArmor"], SpiritBossVirtualArmor);

            // Treasure Map Drop Rate
            TreasureMapDrop = GetDouble(GetText(root["TreasureMapDrop"], ""), TreasureMapDrop);

            // temp vars used for system tuning
            TempDouble = GetDouble(GetText(root["TempDouble"], ""), TempDouble);
            TempInt    = GetValue(root["TempInt"], TempInt);

            // purple potion explosion factors
            ExplosionPotionSensitivityLevel = GetValue(root["ExplPotSensitivity"], ExplosionPotionSensitivityLevel);
            ExplosionPotionChance           = GetDouble(GetText(root["ExplPotChance"], ""), ExplosionPotionChance);

            // murder count vars
            OfflineShortsDecayHours = GetValue(root["OfflineShortsHours"], OfflineShortsDecayHours);
            OfflineShortsDecay      = GetValue(root["OfflineShortsDecay"], 0);

            ExplosionPotionTargetMethod = (EPTM)GetValue(root["ExplosionPotionTargetMethod"], (int)ExplosionPotionTargetMethod);

            ExplosionPotionThreshold = GetDouble(GetText(root["ExplosionPotionThreshold"], ""), ExplosionPotionThreshold);

            // town crier cost
            TownCrierWordMinuteCost = GetValue(root["TownCrierWordMinuteCost"], TownCrierWordMinuteCost);

            // spirit cohesion controls
            CohesionBaseDelay  = GetValue(root["CohesionBaseDelay"], CohesionBaseDelay);
            CohesionLowerDelay = GetValue(root["CohesionLowerDelay"], CohesionLowerDelay);
            CohesionFactor     = GetValue(root["CohesionFactor"], CohesionFactor);

            // enchanted scroll drop chance
            EScrollChance = GetDouble(GetText(root["EScrollChance"], ""), EScrollChance);

            // enchanted scroll success chance adjuster
            EScrollChance = GetDouble(GetText(root["EScrollSuccess"], ""), EScrollSuccess);

            // chance to broadcast newly IDOC houses over TCCS
            IDOCBroadcastChance = GetDouble(GetText(root["IDOCBroadcastChance"], ""), IDOCBroadcastChance);

            // chance for creatures to ignore re-aggression when not aggressing already
            ReaggressIgnoreChance = GetDouble(GetText(root["ReaggressIgnoreChance"], ""), ReaggressIgnoreChance);

            // base period of confusion for tamed creatures upon paralysis
            ReaggressIgnoreChance = GetDouble(GetText(root["ConfusionBaseDelay"], ""), ConfusionBaseDelay);

            WorldSaveFrequency = GetInt32(GetText(root["WorldSaveFrequency"], "30"), 30);

            DebugItemDecayOutput = (GetInt32(GetText(root["DebugItemDecayOutput"], "0"), 0) != 0);

            TCAcctCleanupDays = GetInt32(GetText(root["TCAcctCleanupDays"], "30"), 30);

            StandingDelay = GetDouble(GetText(root["StandingDelay"], ""), StandingDelay);

            PlayAccessLevel = (AccessLevel)GetValue(root["PlayAccessLevel"], (int)PlayAccessLevel);

            TCAcctCleanupEnable = (GetInt32(GetText(root["TCAcctCleanupEnable"], "0"), 0) != 0);

            RangedCorrosionModifier = GetInt32(GetText(root["RangedCorrosionModifier"], "0"), 0);

            GWRChangeDelayMinutes = GetInt32(GetText(root["GWRChangeDelayMinutes"], "0"), 0);

            GracePeriod     = GetInt32(GetText(root["GracePeriod"], ""), GracePeriod);
            ConnectionFloor = GetInt32(GetText(root["ConnectionFloor"], ""), ConnectionFloor);
            Commission      = GetDouble(GetText(root["Commission"], ""), Commission);

            MaxAccountsPerIP = GetInt32(GetText(root["MaxAccountsPerIP"], MaxAccountsPerIP.ToString()), 0);

            MaxAddresses = GetInt32(GetText(root["MaxAddresses"], MaxAddresses.ToString()), 0);

            SlayerWeaponDropRate = GetDouble(GetText(root["SlayerWeaponDropRate"], ""), SlayerWeaponDropRate);

            CurrentWorldSize = (WorldSize)GetInt32(GetText(root["CurrentWorldSize"], ""), (int)CurrentWorldSize);
        }