sodoff/src/Controllers/Common/RatingController.cs
ABrokenTV 8ac43a6e3f
Add "Land" Payouts to RatingController.cs
Added payouts for Adventureland, Marineland, and Futureland, from "Lost Island Training" standalone port.
2025-01-27 10:57:49 -06:00

131 lines
4.2 KiB
C#

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using sodoff.Model;
using sodoff.Schema;
using sodoff.Util;
namespace sodoff.Controllers.Common;
public class RatingController : Controller
{
[HttpPost]
[Produces("application/xml")]
[Route("MissionWebService.asmx/GetPayout")] // used by World Of Jumpstart
public IActionResult GetPayout([FromForm] int points, [FromForm] string ModuleName) {
switch (ModuleName)
{
case string x when x.StartsWith("MSBejeweled"):
return Ok(points / (350 / 3));
case string x when x.StartsWith("MSDodgeNDash"):
return Ok((int)Math.Floor(Math.Pow(1.145, (double)points / 10)));
case string x when x.StartsWith("MSBuggyRacer"):
return Ok(points / 4.7);
case string x when x.StartsWith("MSSoundBop"):
return Ok(points * 10);
case string x when x.StartsWith("MSGhostTownGrab"):
return Ok(points / 20);
case string x when x.StartsWith("BubbleTrouble"):
return Ok(points / 10);
case string x when x.StartsWith("HopsJetPack"):
return Ok(points / 25);
case string x when x.StartsWith("HallowsBubbleMaze"):
return Ok(points / 10);
case string x when x.StartsWith("MSRoboAGoGo"):
return Ok(points / 20);
case string x when x.StartsWith("Volleyball"):
return Ok(points / 1.8);
case string x when x.StartsWith("Football"):
return Ok(points / 3.2);
case string x when x.StartsWith("Basketball"):
return Ok(points / 1.8);
case string x when x.StartsWith("FruitSaladChop"):
return Ok(points / 60);
case string x when x.StartsWith("JSGardenDefense"):
return Ok(points / (350/3));
case string x when x.StartsWith("JSSushiChop"):
return Ok(points / 120);
case string x when x.StartsWith("JSDanceOff"):
return Ok(points / (350/3));
case string x when x.StartsWith("MSPnCow"):
return Ok(60);
case string x when x.StartsWith("MSPnBunny"):
return Ok(60);
case string x when x.StartsWith("MSPnMonkey"):
return Ok(60);
case string x when x.StartsWith("MSCnKite"):
return Ok(60);
case string x when x.StartsWith("MSCnLadyBug"):
return Ok(60);
case string x when x.StartsWith("MSCnDucky"):
return Ok(60);
case string x when x.StartsWith("Calendar"):
return Ok(points / 40);
case string x when x.StartsWith("PearlPush"):
return Ok(points / 20);
case string x when x.StartsWith("FLLetItRide"):
return Ok(points <= 28 ? 2 : 5);
case string x when x.StartsWith("FLLetItRideMastered"):
return Ok(points <= 15 ? 4 :
points <= 25 ? 6 :
points <= 35 ? 9 :
points <= 45 ? 12 : 15);
case string x when x.StartsWith("FashionShowWin"):
return Ok(points >= 1 ? 20 : 0);
case string x when x.StartsWith("FashionShowLose"):
return Ok(points >= 0 ? 10 : 0);
case string x when x.StartsWith("FashionShowTie"):
return Ok(points >= 2 ? 15 : 0);
}
return Ok(points / (350 / 3));
}
[HttpPost]
[Produces("application/xml")]
[Route("ScoreWebService.asmx/SetScore")] // used by World Of Jumpstart
public IActionResult SetScore()
{
// TODO - placeholder
return Ok(true);
}
[HttpPost]
[Produces("application/xml")]
[Route("V2/Ratingwebservice.asmx/GetAverageRatingForRoom")]
//[VikingSession(UseLock=false)]
public IActionResult GetAverageRatingForRoom(/*Viking viking,*/ [FromForm] string request)
{
// TODO: This is a placeholder
return Ok(5);
}
}