public override string Use(int itemPos, User user, string channel) { base.Use(itemPos, user, channel); var effect = new TrollBlessing(null); _effectRepository.AddEffect(user, TrollBlessing.EffectId, DurationInMinutes); return(string.Format(DougMessages.AddedEffect, effect.Name, DurationInMinutes)); }
public override string Use(int itemPos, User user, string channel) { base.Use(itemPos, user, channel); var effect = new PickleBuff(); _effectRepository.AddEffect(user, PickleBuff.EffectId, DurationInMinutes); user.Health += 100; _statsRepository.UpdateHealth(user.Id, user.Health); return(string.Format(DougMessages.AddedEffect, effect.Name, DurationInMinutes)); }
public async Task <bool> HandleDeath(User user, string channel) { if (!_eventDispatcher.OnDeath(user)) { return(false); } _statsRepository.KillUser(user.Id); _effectRepository.AddEffect(user, MortuaryGrace.EffectId, 15); await _slack.BroadcastMessage(string.Format(DougMessages.UserDied, Mention(user)), channel); await _slack.KickUser(user.Id, channel); return(true); }
public override async Task <DougResponse> Activate(User user, ICombatable target, string channel) { if (!CanActivateSkill(user, target, channel, out var response)) { return(response); } var userToBeBuffed = user; if (target != null && target is User targetUser) { userToBeBuffed = targetUser; } _effectRepository.AddEffect(userToBeBuffed, BuffId, Duration); var message = string.Format(DougMessages.UserBuffed, _userService.Mention(user), BuffName, _userService.Mention(userToBeBuffed), Duration); await _slack.BroadcastMessage(message, channel); return(new DougResponse()); }
public string EatEffect(int itemPos, User user, string effectId, int duration) { _effectRepository.AddEffect(user, effectId, duration); return(string.Format(DougMessages.AddedEffect, EffectFactory.GetEffectName(effectId), duration)); }