protected override void OnTarget(Mobile from, object targeted) { Item iBattery = targeted as Item; if (iBattery is RobotItem) { RobotItem xBattery = (RobotItem)iBattery; int myCharges = xBattery.m_Charges; if (!iBattery.IsChildOf(from.Backpack)) { from.SendMessage("You can only use this battery on robots in your pack."); } else if (myCharges < 100) { xBattery.m_Charges = xBattery.m_Charges + 1; if (xBattery.m_Charges > 100) { xBattery.m_Charges = 100; } from.SendMessage("You charge your robot with the battery."); from.RevealingAction(); from.PlaySound(0x559); xBattery.InvalidateProperties(); m_Battery.Delete(); } else { from.SendMessage("That robot is already fully charged."); } } else { from.SendMessage("You don't think that will really do anything."); } }
public static bool ProcessRobotBook(Mobile m, Mobile tinker, Item dropped) { RobotSchematics book = (RobotSchematics)dropped; if (Server.Misc.Worlds.GetRegionName(tinker.Map, tinker.Location) != book.TinkerLocation) { return(false); } int tinkerSkill = (int)(m.Skills[SkillName.Tinkering].Value); if (tinkerSkill > 100) { tinkerSkill = 100; } int XormiteReturn = 0; if (tinkerSkill > 0) { XormiteReturn = (int)(book.NeedXormite * (tinkerSkill * 0.005)); } int HaveIngredients = 0; if (book.HaveEngineParts >= book.NeedEngineParts) { HaveIngredients++; } if (book.HaveCircuitBoard >= book.NeedCircuitBoard) { HaveIngredients++; } if (book.HaveGears >= book.NeedGears) { HaveIngredients++; } if (book.HaveTransistors >= book.NeedTransistors) { HaveIngredients++; } if (book.HaveXormite >= book.NeedXormite) { HaveIngredients++; } if (book.HaveOil >= book.NeedOil) { HaveIngredients++; } if (book.HaveMetalQty >= book.NeedMetalQty) { HaveIngredients++; } if (book.HaveBolts >= book.NeedBolts) { HaveIngredients++; } if (HaveIngredients < 8) { return(false); } if (XormiteReturn > 0) { m.AddToBackpack(new DDXormite(XormiteReturn)); tinker.Say("Here is " + XormiteReturn.ToString() + " xormite back for all of your help."); } RobotItem ball = new RobotItem(); ball.RobotOwner = m.Serial; ball.Hue = 0; m.AddToBackpack(ball); LoggingFunctions.LogGenericQuest(m, "had a robot built"); m.PrivateOverheadMessage(MessageType.Regular, 1153, false, "My robot has been built.", m.NetState); m.SendSound(0x559); dropped.Delete(); return(true); }