/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="parameters"></param> /// <returns></returns> public override bool Process(Entity.CharacterEntity character, Dictionary <string, string> parameters) { character.SpellBook.Spells.ForEach(spell => spell.Level = 1); character.SpellPoint = character.Level - 1; character.CachedBuffer = true; character.SendAccountStats(); character.Dispatch(WorldMessage.SPELLS_LIST(character.SpellBook)); character.CachedBuffer = false; return(true); }
/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="parameters"></param> /// <returns></returns> public override bool Process(Entity.CharacterEntity character, Dictionary <string, string> parameters) { character.CachedBuffer = true; character.CaractPoint = (character.Level - 1) * 5; character.Statistics.AddBase(EffectEnum.AddVitality, -character.DatabaseRecord.Vitality); character.Statistics.AddBase(EffectEnum.AddWisdom, -character.DatabaseRecord.Wisdom); character.Statistics.AddBase(EffectEnum.AddIntelligence, -character.DatabaseRecord.Intelligence); character.Statistics.AddBase(EffectEnum.AddStrength, -character.DatabaseRecord.Strength); character.Statistics.AddBase(EffectEnum.AddAgility, -character.DatabaseRecord.Agility); character.Statistics.AddBase(EffectEnum.AddChance, -character.DatabaseRecord.Chance); character.DatabaseRecord.Vitality = 0; character.DatabaseRecord.Wisdom = 0; character.DatabaseRecord.Intelligence = 0; character.DatabaseRecord.Strength = 0; character.DatabaseRecord.Agility = 0; character.DatabaseRecord.Chance = 0; character.SendAccountStats(); character.CachedBuffer = false; return(true); }
/// <summary> /// /// </summary> /// <param name="character"></param> /// <param name="parameters"></param> /// <returns></returns> public override bool Process(Entity.CharacterEntity character, Dictionary <string, string> parameters) { var itemId = int.Parse(parameters["itemId"]); var template = ItemTemplateRepository.Instance.GetById(itemId); if (template == null) { return(false); } ItemSlotEnum slot = ItemSlotEnum.SLOT_INVENTORY; switch ((ItemTypeEnum)template.Type) { case ItemTypeEnum.TYPE_TRANSFORM: slot = ItemSlotEnum.SLOT_BOOST_MUTATION; break; case ItemTypeEnum.TYPE_PERSO_SUIVEUR: slot = ItemSlotEnum.SLOT_BOOST_FOLLOWER; break; case ItemTypeEnum.TYPE_BENEDICTION: if (character.Inventory.Items.Any(entry => entry.Slot == ItemSlotEnum.SLOT_BOOST_BENEDICTION)) { slot = ItemSlotEnum.SLOT_BOOST_BENEDICTION_1; } else { slot = ItemSlotEnum.SLOT_BOOST_BENEDICTION; } break; case ItemTypeEnum.TYPE_MALEDICTION: if (character.Inventory.Items.Any(entry => entry.Slot == ItemSlotEnum.SLOT_BOOST_MALEDICTION)) { slot = ItemSlotEnum.SLOT_BOOST_MALEDICTION_1; } else { slot = ItemSlotEnum.SLOT_BOOST_MALEDICTION; } break; case ItemTypeEnum.TYPE_RP_BUFF: slot = ItemSlotEnum.SLOT_BOOST_ROLEPLAY_BUFF; break; case ItemTypeEnum.TYPE_BOOST_FOOD: slot = ItemSlotEnum.SLOT_BOOST_FOOD; break; } if (character.Inventory.Items.Any(entry => entry.Slot == slot || entry.TemplateId == itemId)) { character.Dispatch(WorldMessage.IM_ERROR_MESSAGE(InformationEnum.ERROR_CONDITIONS_UNSATISFIED)); return(false); } var item = template.Create(1, slot); character.CachedBuffer = true; character.Statistics.Merge(StatsType.TYPE_BOOST, item.Statistics); character.Inventory.AddItem(item); character.SendAccountStats(); character.CachedBuffer = false; return(true); }