Add GameDataController for item icon retrieval; update GameItemsRepository and GameItemService for new action effects
This commit is contained in:
@@ -72,19 +72,59 @@ namespace PetCompanion.Services
|
||||
|
||||
switch ($"{action}_{target}")
|
||||
{
|
||||
case "ADD_FOOD_RESOURCES":
|
||||
case "ADD_FOOD":
|
||||
pet.Resources.Food += value;
|
||||
break;
|
||||
case "ADD_INTELLIGENCE":
|
||||
pet.Stats.Intelligence += value;
|
||||
pet.IncrementIntelligence(value);
|
||||
break;
|
||||
case "REDUCE_COOLDOWN":
|
||||
pet.BasicActionCooldown = pet.BasicActionCooldown.AddMinutes(-value);
|
||||
break;
|
||||
case "ADD_HEALTH":
|
||||
pet.Health = Math.Min(pet.Health + value, pet.MaxHealth);
|
||||
break;
|
||||
case "ADD_MAX_HEALTH":
|
||||
case "ADD_CHARISMA":
|
||||
pet.IncrementCharisma(value);
|
||||
break;
|
||||
case "ADD_STRENGTH":
|
||||
pet.IncrementStrength(value);
|
||||
break;
|
||||
case "ADD_RANDOMSTAT":
|
||||
var random = new Random();
|
||||
var stat = random.Next(4);
|
||||
switch (stat)
|
||||
{
|
||||
case 0: pet.IncrementStrength(value); break;
|
||||
case 1: pet.IncrementIntelligence(value); break;
|
||||
case 2: pet.IncrementCharisma(value); break;
|
||||
case 3: pet.Health = Math.Min(pet.Health + value, pet.MaxHealth); break;
|
||||
}
|
||||
break;
|
||||
case "RESTORE_STATS":
|
||||
pet.Health = pet.MaxHealth;
|
||||
pet.Stats.Intelligence = pet.Stats.MaxIntelligence;
|
||||
pet.Stats.Strength = pet.Stats.MaxStrength;
|
||||
pet.Stats.Charisma = pet.Stats.MaxCharisma;
|
||||
break;
|
||||
case "ADD_MAXHEALTH":
|
||||
pet.MaxHealth += value;
|
||||
break;
|
||||
// Add more effect handlers as needed
|
||||
case "ADD_MAXINTELLIGENCE":
|
||||
pet.Stats.MaxIntelligence += value;
|
||||
break;
|
||||
case "ADD_MAXSTRENGTH":
|
||||
pet.Stats.MaxStrength += value;
|
||||
break;
|
||||
case "ADD_MAXCHARISMA":
|
||||
pet.Stats.MaxCharisma += value;
|
||||
break;
|
||||
case "ADD_MAXALLSTATS":
|
||||
pet.MaxHealth += value;
|
||||
pet.Stats.MaxIntelligence += value;
|
||||
pet.Stats.MaxStrength += value;
|
||||
pet.Stats.MaxCharisma += value;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,26 +139,28 @@ namespace PetCompanion.Services
|
||||
|
||||
switch ($"{action}_{target}")
|
||||
{
|
||||
case "ADD_MAX_HEALTH":
|
||||
case "ADD_MAXHEALTH":
|
||||
pet.MaxHealth -= value;
|
||||
pet.Health = Math.Min(pet.Health, pet.MaxHealth);
|
||||
break;
|
||||
case "ADD_MAX_INTELLIGENCE":
|
||||
case "ADD_MAXINTELLIGENCE":
|
||||
pet.Stats.MaxIntelligence -= value;
|
||||
pet.Stats.Intelligence = Math.Min(pet.Stats.Intelligence, pet.Stats.MaxIntelligence);
|
||||
break;
|
||||
case "ADD_MAX_STRENGTH":
|
||||
case "ADD_MAXSTRENGTH":
|
||||
pet.Stats.MaxStrength -= value;
|
||||
pet.Stats.Strength = Math.Min(pet.Stats.Strength, pet.Stats.MaxStrength);
|
||||
break;
|
||||
case "ADD_MAX_CHARISMA":
|
||||
case "ADD_MAXCHARISMA":
|
||||
pet.Stats.MaxCharisma -= value;
|
||||
pet.Stats.Charisma = Math.Min(pet.Stats.Charisma, pet.Stats.MaxCharisma);
|
||||
break;
|
||||
case "ADD_MAX_ALL_STATS":
|
||||
case "ADD_MAXALLSTATS":
|
||||
pet.MaxHealth -= value;
|
||||
pet.Stats.MaxIntelligence -= value;
|
||||
pet.Stats.MaxStrength -= value;
|
||||
pet.Stats.MaxCharisma -= value;
|
||||
pet.Health = Math.Min(pet.Health, pet.MaxHealth);
|
||||
pet.Stats.Intelligence = Math.Min(pet.Stats.Intelligence, pet.Stats.MaxIntelligence);
|
||||
pet.Stats.Strength = Math.Min(pet.Stats.Strength, pet.Stats.MaxStrength);
|
||||
pet.Stats.Charisma = Math.Min(pet.Stats.Charisma, pet.Stats.MaxCharisma);
|
||||
|
Reference in New Issue
Block a user