mirror of
https://github.com/oshima-studios/OshimaGameModule.git
synced 2025-04-23 20:39:36 +08:00
添加攻击力、护甲、三围的百分比属性
This commit is contained in:
parent
a0728946f1
commit
8225daf073
@ -784,6 +784,113 @@ namespace Oshima.Core.Controllers
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("zb")]
|
||||
public string EquipItem([FromQuery] long? qq = null, [FromQuery] int? c = null, [FromQuery] int? i = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
|
||||
int characterIndex = c ?? 0;
|
||||
int itemIndex = i ?? 0;
|
||||
|
||||
PluginConfig pc = new("saved", userid.ToString());
|
||||
pc.LoadConfig();
|
||||
|
||||
if (pc.Count > 0)
|
||||
{
|
||||
User user = FunGameService.GetUser(pc);
|
||||
|
||||
Character? character = null;
|
||||
Item? item = null;
|
||||
if (characterIndex > 0 && characterIndex <= user.Inventory.Characters.Count)
|
||||
{
|
||||
character = user.Inventory.Characters.ToList()[characterIndex - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的角色!");
|
||||
}
|
||||
if (itemIndex > 0 && itemIndex <= user.Inventory.Items.Count)
|
||||
{
|
||||
item = user.Inventory.Items.ToList()[itemIndex - 1];
|
||||
if ((int)item.ItemType >= (int)ItemType.MagicCardPack && (int)item.ItemType <= (int)ItemType.Accessory && item.EquipSlotType == EquipSlotType.None)
|
||||
{
|
||||
// nothing
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"这个物品无法被装备!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的物品!");
|
||||
}
|
||||
if (character != null && item != null && character.Equip(item))
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"装备成功!");
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"装备失败!可能是角色、物品不存在或者其他原因。");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize(noSaved);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return NetworkUtility.JsonSerialize(e.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[HttpPost("qxzb")]
|
||||
public string UnEquipItem([FromQuery] long? qq = null, [FromQuery] int? c = null, [FromQuery] int? i = null)
|
||||
{
|
||||
try
|
||||
{
|
||||
long userid = qq ?? Convert.ToInt64("10" + Verification.CreateVerifyCode(VerifyCodeType.NumberVerifyCode, 11));
|
||||
int characterIndex = c ?? 0;
|
||||
EquipSlotType type = (EquipSlotType)(i ?? 0);
|
||||
|
||||
PluginConfig pc = new("saved", userid.ToString());
|
||||
pc.LoadConfig();
|
||||
|
||||
if (pc.Count > 0)
|
||||
{
|
||||
User user = FunGameService.GetUser(pc);
|
||||
|
||||
Character? character = null;
|
||||
if (characterIndex > 0 && characterIndex <= user.Inventory.Characters.Count)
|
||||
{
|
||||
character = user.Inventory.Characters.ToList()[characterIndex - 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"没有找到与这个序号相对应的角色!");
|
||||
}
|
||||
if (character != null && character.UnEquip(type) != null)
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"取消装备成功!");
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize($"取消装备失败!可能是角色、物品不存在或者其他原因。");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return NetworkUtility.JsonSerialize(noSaved);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
return NetworkUtility.JsonSerialize(e.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
[HttpGet("reload")]
|
||||
public string Relaod([FromQuery] long? master = null)
|
||||
{
|
||||
|
@ -110,10 +110,16 @@ namespace Oshima.Core.Utils
|
||||
magic.Level = (int)item.QualityType switch
|
||||
{
|
||||
2 => 2,
|
||||
3 => 2,
|
||||
4 => 3,
|
||||
5 => 3,
|
||||
6 => 4,
|
||||
_ => 1
|
||||
};
|
||||
if (magic.Level > 1)
|
||||
{
|
||||
item.Name += $" +{magic.Level - 1}";
|
||||
}
|
||||
item.Skills.Active = magic;
|
||||
|
||||
// 初始化属性值
|
||||
@ -181,17 +187,12 @@ namespace Oshima.Core.Utils
|
||||
Skill skill = Factory.OpenFactory.GetInstance<Skill>(item.Id, item.Name, []);
|
||||
GenerateAndAddEffectsToMagicCard(skill, str, agi, intelligence);
|
||||
|
||||
if (magic.Level > 1)
|
||||
{
|
||||
item.Name += $" +{magic.Level - 1}";
|
||||
magic.Name += $" +{magic.Level - 1}";
|
||||
}
|
||||
skill.Level = 1;
|
||||
List<string> strings = [];
|
||||
if (str > 0) strings.Add($"{str:0.##} 点力量");
|
||||
if (agi > 0) strings.Add($"{agi:0.##} 点敏捷");
|
||||
if (intelligence > 0) strings.Add($"{intelligence:0.##} 点智力");
|
||||
item.Description = $"包含魔法:{item.Skills.Active.Name}\r\n" +
|
||||
item.Description = $"包含魔法:{item.Skills.Active.Name + (item.Skills.Active.Level > 1 ? $" +{item.Skills.Active.Level - 1}" : "")}\r\n" +
|
||||
$"增加角色属性:{string.Join(",", strings)}";
|
||||
item.Skills.Passives.Add(skill);
|
||||
}
|
||||
|
@ -3,10 +3,7 @@ using Milimoe.FunGame.Core.Api.Utility;
|
||||
using Milimoe.FunGame.Core.Entity;
|
||||
using Milimoe.FunGame.Core.Library.Constant;
|
||||
using Milimoe.FunGame.Core.Model;
|
||||
using Oshima.FunGame.OshimaModules;
|
||||
using Oshima.FunGame.OshimaModules.Characters;
|
||||
using Oshima.FunGame.OshimaModules.Effects.OpenEffects;
|
||||
using Oshima.FunGame.OshimaModules.Items;
|
||||
using Oshima.FunGame.OshimaModules.Skills;
|
||||
|
||||
namespace Oshima.Core.Utils
|
||||
|
@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
||||
public override void OnEffectGained(Character character)
|
||||
{
|
||||
实际加成 = character.BaseAGI * 加成比例;
|
||||
character.ExAGI += 实际加成;
|
||||
character.ExAGIPercentage += 加成比例;
|
||||
}
|
||||
|
||||
public override void OnEffectLost(Character character)
|
||||
{
|
||||
character.ExAGI -= 实际加成;
|
||||
character.ExAGIPercentage -= 加成比例;
|
||||
}
|
||||
|
||||
public override void OnAttributeChanged(Character character)
|
||||
|
@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
||||
public override void OnEffectGained(Character character)
|
||||
{
|
||||
实际加成 = character.BaseATK * 加成比例;
|
||||
character.ExATK2 += 实际加成;
|
||||
character.ExATKPercentage += 加成比例;
|
||||
}
|
||||
|
||||
public override void OnEffectLost(Character character)
|
||||
{
|
||||
character.ExATK2 -= 实际加成;
|
||||
character.ExATKPercentage -= 加成比例;
|
||||
}
|
||||
|
||||
public override void OnAttributeChanged(Character character)
|
||||
|
@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
||||
public override void OnEffectGained(Character character)
|
||||
{
|
||||
实际加成 = character.BaseDEF * 加成比例;
|
||||
character.ExDEF2 += 实际加成;
|
||||
character.ExDEFPercentage += 加成比例;
|
||||
}
|
||||
|
||||
public override void OnEffectLost(Character character)
|
||||
{
|
||||
character.ExDEF2 -= 实际加成;
|
||||
character.ExDEFPercentage -= 加成比例;
|
||||
}
|
||||
|
||||
public override void OnAttributeChanged(Character character)
|
||||
|
@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
||||
public override void OnEffectGained(Character character)
|
||||
{
|
||||
实际加成 = character.BaseINT * 加成比例;
|
||||
character.ExINT += 实际加成;
|
||||
character.ExINTPercentage += 加成比例;
|
||||
}
|
||||
|
||||
public override void OnEffectLost(Character character)
|
||||
{
|
||||
character.ExINT -= 实际加成;
|
||||
character.ExINTPercentage -= 加成比例;
|
||||
}
|
||||
|
||||
public override void OnAttributeChanged(Character character)
|
||||
|
@ -17,12 +17,12 @@ namespace Oshima.FunGame.OshimaModules.Effects.OpenEffects
|
||||
public override void OnEffectGained(Character character)
|
||||
{
|
||||
实际加成 = character.BaseSTR * 加成比例;
|
||||
character.ExSTR += 实际加成;
|
||||
character.ExSTRPercentage += 加成比例;
|
||||
}
|
||||
|
||||
public override void OnEffectLost(Character character)
|
||||
{
|
||||
character.ExSTR -= 实际加成;
|
||||
character.ExSTRPercentage -= 加成比例;
|
||||
}
|
||||
|
||||
public override void OnAttributeChanged(Character character)
|
||||
|
Loading…
x
Reference in New Issue
Block a user