random raids now can have more players

This commit is contained in:
Sarah Faey 2022-12-08 19:30:31 +01:00
parent 929ca9c0a7
commit 07eede3f9a
5 changed files with 46 additions and 6 deletions

2
.gitignore vendored
View file

@ -24,6 +24,8 @@ DiscordBot/token.txt
DiscordBot/debugtoken.txt DiscordBot/debugtoken.txt
Lieb/discordAppSecret.txt Lieb/discordAppSecret.txt
publish.sh publish.sh
getDatabase.sh
TODO.txt
# Build results # Build results
[Dd]ebug/ [Dd]ebug/

View file

@ -542,11 +542,11 @@ namespace Lieb.Data
} }
} }
public RaidRole CreateRandomSignUpRole(RaidType raidType) public RaidRole CreateRandomSignUpRole(RaidType raidType, int spots = 10)
{ {
return new RaidRole() return new RaidRole()
{ {
Spots = 10, Spots = spots,
Name = "Random", Name = "Random",
Description = raidType.ToString(), Description = raidType.ToString(),
IsRandomSignUpRole = true IsRandomSignUpRole = true

View file

@ -37,8 +37,8 @@ namespace Lieb.Data
foreach(RaidTemplate template in raidTemplateService.GetTemplates()) foreach(RaidTemplate template in raidTemplateService.GetTemplates())
{ {
TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(template.TimeZone); TimeZoneInfo timeZone = TimeZoneInfo.FindSystemTimeZoneById(template.TimeZone);
DateTime UTCStartTime = TimeZoneInfo.ConvertTimeToUtc(template.StartTime, timeZone); DateTime UTCEndTime = TimeZoneInfo.ConvertTimeToUtc(template.EndTime, timeZone);
if(template.Interval > 0 && UTCStartTime.AddDays(-template.CreateDaysBefore).AddHours(1) < DateTime.UtcNow) if(template.Interval > 0 && UTCEndTime.AddDays(-template.CreateDaysBefore) < DateTime.UtcNow)
{ {
raidTemplateService.CreateRaidFromTemplate(template.RaidTemplateId).Wait(); raidTemplateService.CreateRaidFromTemplate(template.RaidTemplateId).Wait();
} }

View file

@ -46,6 +46,15 @@
</InputSelect> </InputSelect>
</label> </label>
</p> </p>
@if(_raid.RaidType != RaidType.Planned)
{
<p>
<label>
Random Spots:
<InputNumber @bind-Value="_randomSpots"/>
</label>
</p>
}
<p> <p>
<label> <label>
Event Type: Event Type:
@ -179,6 +188,7 @@
private string _errorMessage = string.Empty; private string _errorMessage = string.Empty;
private int _randomSpots = 10;
private DateTimeOffset _raidDate = DateTime.Now.Date; private DateTimeOffset _raidDate = DateTime.Now.Date;
private DateTimeOffset _startTime; private DateTimeOffset _startTime;
private DateTimeOffset _endTime; private DateTimeOffset _endTime;
@ -216,6 +226,15 @@
if (_raid.RaidOwnerId == _user.Id if (_raid.RaidOwnerId == _user.Id
|| _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel) || _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel)
{ {
if(_raid.RaidType != RaidType.Planned)
{
if(_raid.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
RaidRole role = _raid.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
_randomSpots = role != null ? role.Spots : 10;
}
}
_startTime = await TimeZoneService.GetLocalDateTime(_raid.StartTimeUTC); _startTime = await TimeZoneService.GetLocalDateTime(_raid.StartTimeUTC);
_endTime = await TimeZoneService.GetLocalDateTime(_raid.EndTimeUTC); _endTime = await TimeZoneService.GetLocalDateTime(_raid.EndTimeUTC);
_raidDate = _startTime.Date; _raidDate = _startTime.Date;
@ -281,7 +300,7 @@
{ {
if(!_raid.Roles.Where(r => r.IsRandomSignUpRole).Any()) if(!_raid.Roles.Where(r => r.IsRandomSignUpRole).Any())
{ {
_raid.Roles.Add(RaidService.CreateRandomSignUpRole(_raid.RaidType)); _raid.Roles.Add(RaidService.CreateRandomSignUpRole(_raid.RaidType, _randomSpots));
} }
foreach(RaidRole role in _raid.Roles.Where(r => !r.IsRandomSignUpRole)) foreach(RaidRole role in _raid.Roles.Where(r => !r.IsRandomSignUpRole))

View file

@ -47,6 +47,15 @@
</InputSelect> </InputSelect>
</label> </label>
</p> </p>
@if(_template.RaidType != RaidType.Planned)
{
<p>
<label>
Random Spots:
<InputNumber @bind-Value="_randomSpots"/>
</label>
</p>
}
<p> <p>
<label> <label>
Event Type: Event Type:
@ -201,6 +210,7 @@
private string _errorMessage = string.Empty; private string _errorMessage = string.Empty;
private int _randomSpots = 10;
private DateTimeOffset _raidDate = DateTime.Now.Date; private DateTimeOffset _raidDate = DateTime.Now.Date;
private DateTimeOffset _startTime; private DateTimeOffset _startTime;
private DateTimeOffset _endTime; private DateTimeOffset _endTime;
@ -238,6 +248,15 @@
if (_template != null && (_template.RaidOwnerId == _user.Id if (_template != null && (_template.RaidOwnerId == _user.Id
|| _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel)) || _user.RoleAssignments.Max(a => a.LiebRole.Level) >= Constants.RaidEditPowerLevel))
{ {
if(_template.RaidType != RaidType.Planned)
{
if(_template.Roles.Where(r => r.IsRandomSignUpRole).Any())
{
RaidRole role = _template.Roles.FirstOrDefault(r => r.IsRandomSignUpRole);
_randomSpots = role != null ? role.Spots : 10;
}
}
_startTime = _template.StartTime; _startTime = _template.StartTime;
_endTime = _template.EndTime; _endTime = _template.EndTime;
_raidDate = _startTime.Date; _raidDate = _startTime.Date;
@ -303,7 +322,7 @@
{ {
if(!_template.Roles.Where(r => r.IsRandomSignUpRole).Any()) if(!_template.Roles.Where(r => r.IsRandomSignUpRole).Any())
{ {
_template.Roles.Add(RaidService.CreateRandomSignUpRole(_template.RaidType)); _template.Roles.Add(RaidService.CreateRandomSignUpRole(_template.RaidType, _randomSpots));
} }
foreach(RaidRole role in _template.Roles.Where(r => !r.IsRandomSignUpRole)) foreach(RaidRole role in _template.Roles.Where(r => !r.IsRandomSignUpRole))