Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public override bool Execute(Npc npc, Character character) {
- if (!base.Execute(npc, character))
- return false;
- ItemTemplate template;
- // Check if user has all needed items.
- foreach(var t in NeededItemsList) {
- template = ItemManager.Instance.TryGetTemplate(t.Item1);
- if(character.Inventory.TryGetItem(template).Stack < t.Item2) {
- character.SendInformationMessage(
- TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 0,
- "Certaines conditions ne sont pas satisfaites.");
- return true;
- }
- }
- // Check if user has the upgrade stone.
- template = ItemManager.Instance.TryGetTemplate(CoinParams.Item1);
- if (character.Inventory.TryGetItem(template).Stack < CoinParams.Item2) {
- character.SendInformationMessage(
- TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 0,
- "Certaines conditions ne sont pas satisfaites.");
- return true;
- }
- // Take The Upgrade Stone.
- character.Inventory.RemoveItem(character.Inventory.TryGetItem(template), CoinParams.Item2);
- //Check if we have a success upgrade.
- if ((new Random().NextDouble() * 100) > Percentage) {
- character.SendInformationMessage(
- TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 0,
- "L'upgrade a échoué!");
- return true;
- }
- // Upgrade Succeeded...
- character.SendInformationMessage(
- TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 0,
- "Vous avez passé l'upgrade avec succes!");
- // Take items from user.
- foreach (var t in NeededItemsList) {
- template = ItemManager.Instance.TryGetTemplate(t.Item1);
- character.Inventory.RemoveItem(character.Inventory.TryGetItem(template), t.Item2);
- }
- // Give new items to user.
- foreach (var t in NewItemsList) {
- template = ItemManager.Instance.TryGetTemplate(t.Item1);
- character.Inventory.AddItem(template, t.Item2);
- }
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement