diff --git a/Source/Kesmai.Server/Game/Entities/Mobiles/Creatures/Phantasm/SummonedSnake.cs b/Source/Kesmai.Server/Game/Entities/Mobiles/Creatures/Phantasm/SummonedSnake.cs index f175d51d..873bc890 100644 --- a/Source/Kesmai.Server/Game/Entities/Mobiles/Creatures/Phantasm/SummonedSnake.cs +++ b/Source/Kesmai.Server/Game/Entities/Mobiles/Creatures/Phantasm/SummonedSnake.cs @@ -18,16 +18,17 @@ public SummonedSnake(double focusLevelModifier = 0.0) : base() Summoned = true; } - private (int health, int defense) GetSnakeStats() + private (int health, int defense, double poisonStrength, int attackLevel) GetSnakeStats() { var player = Director; - var level = player.Level; + attackLevel = Math.Max(8,player.Level - 10); // Focus level is a multiplier for the stats of the pet. double focusLevel = 1; var magicSkill = player.GetSkillLevel(Skill.Magic); var focusItems = player.Paperdoll.OfType().ToList(); var focusItems2 = player.Rings.OfType().ToList(); var allFocusItems = focusItems.Concat(focusItems2).ToList(); + poisonStrength = Math.Max(1, magicSkill - 10); // Search for and get the highest focus level from the items. if (allFocusItems.Count > 0) @@ -37,17 +38,28 @@ public SummonedSnake(double focusLevelModifier = 0.0) : base() if (_focusLevelModifier != 0) focusLevel += _focusLevelModifier; - var health = (level + (int)magicSkill)* 5 * focusLevel; - var defense = (level) * focusLevel; + var health = (player.level + (int)magicSkill)* 5 * focusLevel; + var defense = player.level * focusLevel; + poisonStrength *= focusLevel; - return ((int)health,(int)defense); + return ((int)health,(int)defense,poisonStrength,attackLevel); } public override void OnEnterWorld() { base.OnEnterWorld(); - var (health, defense) = GetSnakeStats(); + var (health, defense, poisonStrength, attackLevel) = GetSnakeStats(); + + Attacks = new CreatureAttackCollection + { + { + new CreatureAttack(attackLevel, 5, 15, "The snake strikes you."), 60 + }, + { + new CreatureAttack(attackLevel, 5, 15, "The snake strikes you with its fangs, injecting venom.", new AttackPoisonComponent((int)poisonStrength)), 40 + }, + }; Health = MaxHealth = health; BaseDodge = defense;