Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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);
        }