Приручение животных, найм наёмников, команды им и шанс послушания.

dzehv

Active Member
Модератор
Минимальные требования навыка "Animal Taming" для стандартных животных в игре:


Jack Rabbit - MinTameSkill = -18.9
Mongbat - MinTameSkill = -18.9
Rabbit - MinTameSkill = -18.9
Gorilla - MinTameSkill = -18.9
Dog - MinTameSkill = -15.3
Skittering Hopper - MinTameSkill = -12.9
Bird - MinTameSkill = -6.9
Sewer Rat - MinTameSkill = -0.9
Cat - MinTameSkill = -0.9
Rat - MinTameSkill = -0.9
Mountain Goat - MinTameSkill = -0.9
Chicken - MinTameSkill = -0.9
Cow - MinTameSkill = 11.1
Goat - MinTameSkill = 11.1
Pack Horse - MinTameSkill = 11.1
Pack Llama - MinTameSkill = 11.1
Pig - MinTameSkill = 11.1
Sheep - MinTameSkill = 11.1
Eagle - MinTameSkill = 17.1
Timber Wolf - MinTameSkill = 23.1
Bull Frog - MinTameSkill = 23.1
Hind - MinTameSkill = 23.1
Slime - MinTameSkill = 23.1
Boar - MinTameSkill = 29.1
Desert Ostard - MinTameSkill = 29.1
Forest Ostard - MinTameSkill = 29.1
Horse - MinTameSkill = 29.1
Ridable Llama - MinTameSkill = 29.1
Base War Horse - MinTameSkill = 29.1
Giant Rat - MinTameSkill = 29.1
Llama - MinTameSkill = 35.1
Walrus - MinTameSkill = 35.1
Black Bear - MinTameSkill = 35.1
Polar Bear - MinTameSkill = 35.1
Brown Bear - MinTameSkill = 41.1
Cougar - MinTameSkill = 41.1
Alligator - MinTameSkill = 47.1
Scorpion - MinTameSkill = 47.1
Grey Wolf - MinTameSkill = 53.1
Panther - MinTameSkill = 53.1
Snow Leopard - MinTameSkill = 53.1
Grizzly Bear - MinTameSkill = 59.1
Great Hart - MinTameSkill = 59.1
Snake - MinTameSkill = 59.1
Giant Spider - MinTameSkill = 59.1
White Wolf - MinTameSkill = 65.1
Gaman - MinTameSkill = 68.7
Bull - MinTameSkill = 71.1
Hell Cat - MinTameSkill = 71.1
Giant Ice Worm - MinTameSkill = 71.1
Frost Spider - MinTameSkill = 74.7
Giant Toad - MinTameSkill = 77.1
Frenzied Ostard - MinTameSkill = 77.1
Giant Beetle - MinTameSkill = 29.1 79.9
Lava Lizard - MinTameSkill = 80.7
Dire Wolf - MinTameSkill = 83.1
Ridgeback - MinTameSkill = 83.1
Imp - MinTameSkill = 83.1
Savage Ridgeback - MinTameSkill = 83.1
Drake - MinTameSkill = 84.3
Predator Hell Cat - MinTameSkill = 89.1
Swamp Dragon - MinTameSkill = 93.9
Scaled Swamp Dragon - MinTameSkill = 93.9
Fire Beetle - MinTameSkill = 93.9
Dragon - MinTameSkill = 93.9
Kirin - MinTameSkill = 95.1
Nightmare - MinTameSkill = 95.1
Unicorn - MinTameSkill = 95.1
White Wyrm - MinTameSkill = 96.3
Fire Steed - MinTameSkill = 106.0 97.5
Hiryu - MinTameSkill = 98.7
Lesser Hiryu - MinTameSkill = 98.7
Silver Steed - MinTameSkill = 103.1

Death watch Beetle - MinTameSkill = 41.1
Strong Mongbat - MinTameSkill = 71.1
Greater Mongbat - MinTameSkill = 71.1
Bake Kitsune - MinTameSkill = 80.7
Ice Hound - MinTameSkill = 85.5
Hell Hound - MinTameSkill = 85.5
Rune Beetle - MinTameSkill = 93.9
Reptalon - MinTameSkill = 101.1
Cu Sidhe - MinTameSkill = 101.1
Chimera - MinTameSkill = 119.1

Phoenix - MinTameSkill = 93.5
Ridable Polar Bear - MinTameSkill = 95.6
Ice Wyrm - MinTameSkill = 96.3
Neira Skeletal Steed - MinTameSkill = 99.9
 
Останнє редагування модератором:

KOCTa

Dedywkо |Co100
Команда форуму
Супер Модератор
Изменяется формула шанса будет ли слушаться Вас Ваше животное. Теперь она выглядит так:
Код:
useBaseSkill - обычно false
MaxLoyalty = 100
m_bSummoned = true если это суммон
m_dMinTameSkill = минимальный навык чтобы приручить
Server.SkillHandlers.AnimalTaming.CheckMastery( m, this ) - было ли животное уже було приручено этим игроком
Core.ML = true 
m_Loyalty - зависит от кормёжки животного, если сыто, то 100, если давно не ело будет постепенно опускаться к 0.

		public virtual double GetControlChance( Mobile m, bool useBaseSkill )
		{
			if ( m_dMinTameSkill <= 29.1 || m_bSummoned || m.AccessLevel >= AccessLevel.GameMaster )
				return 1.0;

			double dMinTameSkill = m_dMinTameSkill;

			if ( dMinTameSkill > -24.9 && Server.SkillHandlers.AnimalTaming.CheckMastery( m, this ) )
				dMinTameSkill = -24.9;

			int taming = (int)((useBaseSkill ? m.Skills[SkillName.AnimalTaming].Base : m.Skills[SkillName.AnimalTaming].Value ) * 10);
			int lore = (int)((useBaseSkill ? m.Skills[SkillName.AnimalLore].Base : m.Skills[SkillName.AnimalLore].Value )* 10);

			int bonus = 0, chance = 700;

			if (Core.ML)
			{
				int SkillBonus = taming - (int)(dMinTameSkill * 10);
				int LoreBonus = lore - (int)(dMinTameSkill * 10);

				int SkillMod = 6, LoreMod = 6;

				if (SkillBonus < 0)
					SkillMod = 28;
				if (LoreBonus < 0)
					LoreMod = 14;

				SkillBonus *= SkillMod;
				LoreBonus *= LoreMod;

				bonus = (SkillBonus + LoreBonus) / 2;
			}
			else
			{
				int difficulty = (int)(dMinTameSkill * 10);
				int weighted = ((taming * 4) + lore) / 5;
				bonus = weighted - difficulty;

				if (bonus <= 0)
					bonus *= 14;
				else
					bonus *= 6;
			}
			chance += bonus;

			if ( chance >= 0 && chance < 200 )
				chance = 200;
			else if ( chance > 990 )
				chance = 990;
			chance -= (MaxLoyalty - m_Loyalty) * 10;
			return ( (double)chance / 1000 );
		}
То, что возвращается сравнивается со случайным дробным числом от 0 до 1. Если шанс больше, то животное выполняет команду и его m_Loyalty + 1, если нет, он рычит и m_Loyalty - 3.
Кто желает, может перевести на нормальный язык.
 
Зверху