zxl
/
CTT
forked from Cal/CTT
1
0
Fork 0

bug修复

develope
Cal 2022-07-25 16:12:36 +08:00
parent a767c2d907
commit f8ed49e163
28 changed files with 1784 additions and 1635 deletions

1
.gitignore vendored
View File

@ -80,3 +80,4 @@ Server/.DS_Store
/*.user
/RecastNavMesh
w.git/
*/~$*

Binary file not shown.

View File

@ -41,7 +41,7 @@ namespace ET
public const int DefaultBattleTime = 60 * 60 * 1000;
public const int MainStoryBattleTime = 10 * 60 * 1000;
public const int FamilyBossBattleTime = 30 * 60 * 1000;
public const int PKBattleTime = 20 * 60 * 1000;
public const int PKBattleTime = 6 * 60 * 1000;
public const int BossBattleTime = 15 * 60 * 1000;
public const int ManulEquipBattleTime = 15 * 60 * 1000;
public const int TrialCopyBattleTime = 15 * 60 * 1000;

View File

@ -19,7 +19,25 @@ namespace ET
if (modifierLogic == null)
return;
BattleHelper.Calculate(SkillDamageType., skillSender, target, skillOption.treatCalculate_Self, skillOption.treatCalculate_Target, out BallisticData data);
modifierLogic.shield = MathHelper.RoundToInt(data.value);
Unit owner = skillSender.skillLogic.owner;
float shieldMultipe = 1;
if (owner != null)
{
var copyBattle= BattleMgrCompnent.Instance.GetBattle(owner);
if (copyBattle == null)
{
Log.Info($"battle is null Id:{owner.Id} battleId:{owner.BattleId}");
}
else
{
if (copyBattle.battleType == BattleType.PersonalPvp)
{
shieldMultipe = 0.1f;
}
}
}
modifierLogic.shield = MathHelper.RoundToInt(data.value*shieldMultipe);
if (data.isCrit && skillOption.isCritEvent)
{

View File

@ -1,13 +1,11 @@

using Cal;
using Cal;
using Cal.DataTable;
using System;
using System.Collections.Generic;
namespace ET
{
public class ItemComponentAwakeSystem : AwakeSystem<ItemComponent>
public class ItemComponentAwakeSystem: AwakeSystem<ItemComponent>
{
public override void Awake(ItemComponent self)
{
@ -31,6 +29,7 @@ namespace ET
case MaterialBase materialBase:
return bag.CanAddItem(itemId, count);
}
return false;
}
@ -54,50 +53,58 @@ namespace ET
foreach ((int id, long count) in list)
{
if (!BagHelper.IsSpecialItem(id))
needSlot += GetAddItemNeedSlot(self, unit, id, (int)count);
needSlot += GetAddItemNeedSlot(self, unit, id, (int) count);
}
return needSlot <= (bag.MaxItemCount - bag.ItemCount);
}
/// <summary>
/// out newItem
/// </summary>
private static string AddItem(this ItemComponent self, Unit unit, int itemId,out Item item, int count = 1,bool isLock = true, Item oldItem = null, float randomMax = 0.2f, string getSource = "未知")
private static string AddItem(this ItemComponent self, Unit unit, int itemId, out Item item, int count = 1, bool isLock = true,
Item oldItem = null, float randomMax = 0.2f, string getSource = "未知")
{
item = null;
if (!CanAddItem(self, unit, itemId, count))
{
return ConstDefine.BagFullError;
}
if (itemId == 0)
{
Log.Error($"itemId == 0");
return "系统错误";
}
Bag bag = unit.GetComponent<Bag>();
item = BagHelper.GenerateItem(unit, itemId, count, isLock, oldItem, randomMax, getSource);
bag.AddItem(item);
return null;
}
public static string AddItem(this ItemComponent self, Entity unit, int itemId, int count = 1, bool isLock = true, Item oldItem = null, float randomMax = 0.2f, string getSource = "未知")
public static string AddItem(this ItemComponent self, Entity unit, int itemId, int count = 1, bool isLock = true, Item oldItem = null,
float randomMax = 0.2f, string getSource = "未知")
{
if (!CanAddItem(self, unit, itemId, count))
{
return ConstDefine.BagFullError;
}
if (itemId == 0)
{
Log.Error($"itemId == 0");
return "系统错误";
}
Bag bag = unit.GetComponent<Bag>();
Item item = BagHelper.GenerateItem(unit, itemId, count, isLock, oldItem, randomMax, getSource);
bag.AddItem(item);
return null;
}
public static string DeleteItem(this ItemComponent self, Unit unit, int index, int count)
{
Bag bag = unit.GetComponent<Bag>();
@ -105,13 +112,16 @@ namespace ET
if (item == null) return "删除数量超过此物品数量";
return string.Empty;
}
public static async ETTask<(string, int)> UseGoods(this ItemComponent self, Unit unit, int index = -1, int itemId = -1)
{await ETTask.CompletedTask;
{
await ETTask.CompletedTask;
ModifierContainerComponent modifierContainerComponent = unit.GetComponent<ModifierContainerComponent>();
if (modifierContainerComponent.HasState(ModifierStateType.))
{
return ("禁用物品状态", 0);
}
Bag bag = unit.GetComponent<Bag>();
//!背包中使用
if (index != -1)
@ -120,39 +130,45 @@ namespace ET
{
return ("战斗中...", 0);
}
if (!bag.ItemDic.TryGetValueByKey1(index, out Item item))
{
return ("Bag系统错误未找到相应背包位置的物品", 0);
}
if (item.ItemType != ItemType.GoodsItem)
{
return ("只能使用道具!", 0);
}
if (item.Count <= 0)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 Id= {item.ItemId}的道具数量为0");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 Id= {item.ItemId}的道具数量为0");
return ("系统错误", 0);
}
string ret = BagHelper.CanUseGoods(unit, item);
if (ret != null)
{
return (ret, 0);
}
//!消耗物品
string delRet = self.DeleteItem(unit, index, 1);
if (!delRet.Equals(string.Empty))
return (delRet, 0);
//!使用逻辑
ret= BagHelper.UseGoodsEffect(unit, item);
if (ret != string.Empty)
{
self.AddItem(unit, item.ItemId, 1, item.IsLock);
return (ret, 0);
}
ret = BagHelper.UseGoodsEffect(unit, item);
if (ret != string.Empty)
{
self.AddItem(unit, item.ItemId, 1, item.IsLock);
return (ret, 0);
}
UnitHelper.Save<PlayerData>(unit);
UnitHelper.Save<PlayerData>(unit);
return (null, item.ItemId);
}
//!快捷栏使用
{
string canUse = bag.CheckCanUse();
@ -160,30 +176,35 @@ namespace ET
{
return (canUse, 0);
}
if (!bag.ItemDic.TryGetValueByKey2(itemId, out List<Item> list))
{
return ("Bag系统错误未找到相应背包位置的物品", 0);
}
Item item = list[0];
if (item.ItemType != ItemType.GoodsItem)
{
return ("只能使用道具!", 0);
}
if (item.Count <= 0)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 Id= {itemId}的道具数量为0");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 Id= {itemId}的道具数量为0");
return ("系统错误", 0);
}
string ret = BagHelper.CanUseGoods(unit, item);
if (ret != null)
{
return (ret, 0);
}
string delRet = self.DeleteItem(unit, item.index, 1);
if (!delRet.Equals(string.Empty))
return (delRet, 0);
//!使用逻辑
ret= BagHelper.UseGoodsEffect(unit, item);
ret = BagHelper.UseGoodsEffect(unit, item);
if (ret != string.Empty)
{
self.AddItem(unit, item.ItemId, 1, item.IsLock);
@ -196,6 +217,7 @@ namespace ET
}
private static readonly float[] MeltingAddPrice = { 1.0f, 1.5f, 2.2f, 3.0f };
/// <summary>
/// 镶嵌
/// </summary>
@ -211,36 +233,41 @@ namespace ET
Bag bag = unit.GetComponent<Bag>();
if (!bag.ItemDic.TryGetValueByKey1(equipIndex, out Item equip))
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中没有装备Index ={equipIndex}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中没有装备Index ={equipIndex}");
return "系统错误";
}
if (!bag.ItemDic.TryGetValueByKey1(gemIndex, out Item gem))
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 背包中没有宝石Index ={gemIndex}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 背包中没有宝石Index ={gemIndex}");
return "系统错误";
}
if (equip.IsEmpty) return "您的背包中没有此装备,请重新放置";
if (gem.IsEmpty) return "您的背包中没有此宝石,请重新放置";
if (equip.ItemType != ItemType.EquipItem)
{
return "只能对装备进行炼化";
}
if (gem.ItemType != ItemType.MaterialsItem)
{
return "只能添加宝石";
}
MaterialBase materialBase = DataTableHelper.Get<MaterialBase>(gem.ItemId);
if (materialBase.MaterialType != (int)MaterialsType.)
if (materialBase.MaterialType != (int) MaterialsType.)
{
return "只能添加宝石";
}
EquipBase equipBase = DataTableHelper.Get<EquipBase>(equip.ItemId);
if (attributeIndex >= equipBase.MaxHole || attributeIndex < 0)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】炼化属性Index = {attributeIndex}超出范围");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】炼化属性Index = {attributeIndex}超出范围");
return "系统错误";
}
bool canInlay = false;
GemInlayConfig gemInlayConfig = GemInlayConfigCategory.Instance.Get(equipBase.Type);
if (gemInlayConfig == null)
@ -248,6 +275,7 @@ namespace ET
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName}({unit.Id})】 gemInlay is null");
return "系统错误";
}
for (int i = 0; i < gemInlayConfig.CanInlayArr.Length; i++)
{
int canInlayGem = gemInlayConfig.CanInlayArr[i];
@ -257,11 +285,12 @@ namespace ET
break;
}
}
if (!canInlay) return "此属性的宝石不能镶嵌在当前装备上,请重新放置宝石!";
//!检验并扣钱
GemPriceConfig priceConfig = GemPriceConfigCategory.Instance.Get(materialBase.GemLevel);
int price = priceConfig.InlayPrice * 10000;
long coin = (long)(price * MeltingAddPrice[attributeIndex]);
long coin = (long) (price * MeltingAddPrice[attributeIndex]);
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, coin);
if (ret != null)
return ret;
@ -285,14 +314,16 @@ namespace ET
EquipForge equipForge = DataTableHelper.Get<EquipForge>(dateTableId);
if (equipForge == null)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】想要合成TableId = {dateTableId}的不存在装备");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】想要合成TableId = {dateTableId}的不存在装备");
return "系统错误";
}
bool checkRet = self.CanAddItem(unit, equipForge.MadeEquipId, 1);
if (!checkRet)
{
return "背包已满,至少留出一个空位!";
}
Bag bag = unit.GetComponent<Bag>();
int equipIndex = 0;
Item oldEquipItem = null;
@ -300,32 +331,40 @@ namespace ET
{
if (!bag.ItemDic.TryGetValueByKey2(equipForge.NeedEquipmentId, out List<Item> equipList) || equipList.Count == 0)
{
Log.Error($"[合成]【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 背包中没有EquipId={equipForge.NeedEquipmentId}的装备,客户端已限制");
Log.Error(
$"[合成]【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 背包中没有EquipId={equipForge.NeedEquipmentId}的装备,客户端已限制");
return "系统错误";
}
//!扣除装备
oldEquipItem = equipList[0];
equipIndex =equipList[0].index;
equipIndex = equipList[0].index;
}
List<(int, int)> removeList = new List<(int, int)>();
for (int i = equipForge.NeedMaterialArr.Length - 1; i >= 0; i--)
{
EquipForge.NeedMaterial needMaterial = equipForge.NeedMaterialArr[i];
if (!BagHelper.HasItem(bag, needMaterial.NeedMaterial_Id, needMaterial.NeedMaterial_Count))
{
Log.Error($"[合成]【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 背包中背包中没有MaterialId={needMaterial.NeedMaterial_Id}的材料数量<{needMaterial.NeedMaterial_Count},客户端已限制");
Log.Error(
$"[合成]【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 背包中背包中没有MaterialId={needMaterial.NeedMaterial_Id}的材料数量<{needMaterial.NeedMaterial_Count},客户端已限制");
return "系统错误";
}
//!扣除材料
removeList.Add((needMaterial.NeedMaterial_Id, needMaterial.NeedMaterial_Count));
}
//!扣钱
string reduceMoneyRet = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, equipForge.NeedCoin);
if (reduceMoneyRet != null)
{
Log.Error($"[合成]【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 铜钱不足{unit.GetComponent<NumericComponent>().GetAsLong(NumericType.Coin)}<{equipForge.NeedCoin},客户端已限制");
Log.Error(
$"[合成]【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 铜钱不足{unit.GetComponent<NumericComponent>().GetAsLong(NumericType.Coin)}<{equipForge.NeedCoin},客户端已限制");
return "系统错误";
}
//!删装备
self.DeleteItem(unit, equipIndex, 1);
//!删材料
@ -333,10 +372,11 @@ namespace ET
{
bag.DeleteMultiItem(itemId, itemCount);
}
//!给新货
User user = await UserComponent.Instance.Query(unit.Id);
self.AddItem(unit, equipForge.MadeEquipId,out Item newItem , 1, false, randomMax: 0.25f, getSource: user?.NickName + "[合成]");
InhintOldEquip(unit,oldEquipItem,newItem);
self.AddItem(unit, equipForge.MadeEquipId, out Item newItem, 1, false, randomMax: 0.25f, getSource: user?.NickName + "[合成]");
InhintOldEquip(unit, oldEquipItem, newItem);
UnitHelper.SaveComponenet(bag);
return string.Empty;
@ -355,26 +395,30 @@ namespace ET
Bag bag = unit.GetComponent<Bag>();
if (!bag.ItemDic.TryGetValueByKey1(itemIndex, out Item item))
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中没有物品Index ={itemIndex}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中没有物品Index ={itemIndex}");
return "系统错误";
}
if (item.IsEmpty)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中物品Index ={itemIndex}是空物品");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中物品Index ={itemIndex}是空物品");
return "系统错误";
}
ItemUpgrade itemUpgrade = DataTableHelper.Get<ItemUpgrade>(item.ItemId);
if (itemUpgrade == null)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中物品Index ={itemIndex}的物品Id ={item.ItemId}不能进化");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中物品Index ={itemIndex}的物品Id ={item.ItemId}不能进化");
return "系统错误";
}
bool checkRet = self.CanAddItem(unit, itemUpgrade.UpgradeItemId, 1);
if (!checkRet)
{
return "背包已满,至少留出一个空位!";
}
bool needUnlocked =!requestIsLock && !item.IsLock;
bool needUnlocked = !requestIsLock && !item.IsLock;
using ListComponent<(int, int)> listComponent = ListComponent<(int, int)>.Create();
List<(int, int)> removeList = listComponent.List;
for (int i = itemUpgrade.UpgradeNeedMaterialArr.Length - 1; i >= 0; i--)
@ -385,42 +429,46 @@ namespace ET
count++;
if (!BagHelper.HasItem(bag, needMaterial.UpgradeNeedMaterial_Id, count, needUnlocked))
{
Log.Error($"[进化]【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】 背包中背包中没有MaterialId={needMaterial.UpgradeNeedMaterial_Id}的材料数量<{needMaterial.UpgradeNeedMaterial_Count}");
Log.Error(
$"[进化]【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】 背包中背包中没有MaterialId={needMaterial.UpgradeNeedMaterial_Id}的材料数量<{needMaterial.UpgradeNeedMaterial_Count}");
return "系统错误,材料不足";
}
removeList.Add((needMaterial.UpgradeNeedMaterial_Id, needMaterial.UpgradeNeedMaterial_Count));
}
if (MathHelper.IsHit(itemUpgrade.SucceefulRate))
{
//!扣取物品和材料
self.DeleteItem(unit, itemIndex, 1);
foreach ((int itemId, int itemCount) in removeList)
{
bag.DeleteMultiItem(itemId, itemCount,needUnlocked);
bag.DeleteMultiItem(itemId, itemCount, needUnlocked);
}
//!增加新物品
User user = await UserComponent.Instance.Query(unit.Id);
self.AddItem(unit, itemUpgrade.UpgradeItemId,out Item newItem, 1, requestIsLock || item.IsLock, getSource: user?.NickName + "[进化]");
if(item.ItemType == ItemType.EquipItem)
InhintOldEquip(unit,item, newItem);
self.AddItem(unit, itemUpgrade.UpgradeItemId, out Item newItem, 1, requestIsLock || item.IsLock, getSource: user?.NickName + "[进化]");
if (item.ItemType == ItemType.EquipItem)
InhintOldEquip(unit, item, newItem);
if (itemUpgrade.IsSysChat)
{
Chat.Instance.SendSystemCaht($"恭喜【{user?.NickName}】牛气冲天,成功进化一个[color=#ff0000]{BagHelper.GetName(itemUpgrade.UpgradeItemId)}[/color]");
Chat.Instance.SendSystemCaht(
$"恭喜【{user?.NickName}】牛气冲天,成功进化一个[color=#ff0000]{BagHelper.GetName(itemUpgrade.UpgradeItemId)}[/color]");
}
}
else
{
foreach (ItemUpgrade.FailCast failCast in itemUpgrade.FailCastArr)
{
bag.DeleteMultiItem(failCast._Id, failCast.Count,needUnlocked);
bag.DeleteMultiItem(failCast._Id, failCast.Count, needUnlocked);
}
}
UnitHelper.SaveComponenet(bag);
return string.Empty;
}
private static void InhintOldEquip(Unit unit, Item item, Item newItem)
{
try
@ -432,23 +480,26 @@ namespace ET
}
catch (Exception e)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】itemId:{newItem.ItemId} serverId{newItem.ServerId}\n{e}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】itemId:{newItem.ItemId} serverId{newItem.ServerId}\n{e}");
return;
}
}
public static async ETTask<string> SellItem(this ItemComponent self, Unit unit, int slotIndex, int count)
{
await ETTask.CompletedTask;
Bag bag = unit.GetComponent<Bag>();
if (!bag.ItemDic.TryGetValueByKey1(slotIndex, out Item item))
{
Log.Error($"[玩家]{ UserComponent.Instance.Get(unit.Id)?.NickName} 想要出售得物品为空");
Log.Error($"[玩家]{UserComponent.Instance.Get(unit.Id)?.NickName} 想要出售得物品为空");
return "系统错误";
}
if (item.Count < count)
{
return "数量不足";
}
IConfig itemBase = BagHelper.GetItemBase(item.ItemId);
long price = itemBase switch
{
@ -464,9 +515,12 @@ namespace ET
{
return ret;
}
return string.Empty;
}
public static async ETTask<string> MakeMunalEquip(this ItemComponent self, Unit unit, MunalStoneType stoneType, C2M_MakeMunalEquip.StoneType isRare)
public static async ETTask<string> MakeMunalEquip(this ItemComponent self, Unit unit, MunalStoneType stoneType,
C2M_MakeMunalEquip.StoneType isRare)
{
try
{
@ -478,118 +532,132 @@ namespace ET
MunalStoneType.Black => EquipType.,
_ => throw new Exception($"type is wrong :{stoneType}"),
};
ManulEquip manulEquip = ManulEquipCategory.Instance.Get((long)equipType2);
ManulEquip manulEquip = ManulEquipCategory.Instance.Get((long) equipType2);
switch (isRare)
{
case C2M_MakeMunalEquip.StoneType.Nomal:
{
ManulEquip.Material[] materialArr = manulEquip.MaterialArr;
foreach (ManulEquip.Material needMaterial7 in materialArr)
{
ManulEquip.Material[] materialArr = manulEquip.MaterialArr;
foreach (ManulEquip.Material needMaterial7 in materialArr)
if (!BagHelper.HasItem(unit, needMaterial7.MaterialId, needMaterial7.Count))
{
if (!BagHelper.HasItem(unit, needMaterial7.MaterialId, needMaterial7.Count))
{
return "材料[" + BagHelper.GetName(needMaterial7.MaterialId) + "]不足,无法制作";
}
return "材料[" + BagHelper.GetName(needMaterial7.MaterialId) + "]不足,无法制作";
}
break;
}
break;
}
case C2M_MakeMunalEquip.StoneType.Rare:
{
ManulEquip.RareMaterial[] rareMaterialArr = manulEquip.RareMaterialArr;
foreach (ManulEquip.RareMaterial needMaterial8 in rareMaterialArr)
{
ManulEquip.RareMaterial[] rareMaterialArr = manulEquip.RareMaterialArr;
foreach (ManulEquip.RareMaterial needMaterial8 in rareMaterialArr)
if (!BagHelper.HasItem(unit, needMaterial8.MaterialId, needMaterial8.Count))
{
if (!BagHelper.HasItem(unit, needMaterial8.MaterialId, needMaterial8.Count))
{
return "材料[" + BagHelper.GetName(needMaterial8.MaterialId) + "]不足,无法制作";
}
return "材料[" + BagHelper.GetName(needMaterial8.MaterialId) + "]不足,无法制作";
}
break;
}
break;
}
case C2M_MakeMunalEquip.StoneType.Epic:
{
ManulEquip.EpicMaterial[] epicMaterialArr = manulEquip.EpicMaterialArr;
foreach (ManulEquip.EpicMaterial needMaterial6 in epicMaterialArr)
{
ManulEquip.EpicMaterial[] epicMaterialArr = manulEquip.EpicMaterialArr;
foreach (ManulEquip.EpicMaterial needMaterial6 in epicMaterialArr)
if (!BagHelper.HasItem(unit, needMaterial6.MaterialId, needMaterial6.Count))
{
if (!BagHelper.HasItem(unit, needMaterial6.MaterialId, needMaterial6.Count))
{
return "材料[" + BagHelper.GetName(needMaterial6.MaterialId) + "]不足,无法制作";
}
return "材料[" + BagHelper.GetName(needMaterial6.MaterialId) + "]不足,无法制作";
}
break;
}
break;
}
case C2M_MakeMunalEquip.StoneType.UpgradeRare:
{
ManulEquip.UpgradeRareMaterial[] upgradeRareMaterialArr = manulEquip.UpgradeRareMaterialArr;
foreach (ManulEquip.UpgradeRareMaterial needMaterial in upgradeRareMaterialArr)
{
ManulEquip.UpgradeRareMaterial[] upgradeRareMaterialArr = manulEquip.UpgradeRareMaterialArr;
foreach (ManulEquip.UpgradeRareMaterial needMaterial in upgradeRareMaterialArr)
if (!BagHelper.HasItem(unit, needMaterial.MaterialId, needMaterial.Count))
{
if (!BagHelper.HasItem(unit, needMaterial.MaterialId, needMaterial.Count))
{
return "材料[" + BagHelper.GetName(needMaterial.MaterialId) + "]不足,无法制作";
}
return "材料[" + BagHelper.GetName(needMaterial.MaterialId) + "]不足,无法制作";
}
break;
}
break;
}
}
Bag bag = unit.GetComponent<Bag>();
if (!bag.CanAddNewItem)
{
return "背包已满,请及时清理";
}
PlayerData data = unit.GetComponent<PlayerData>();
switch (isRare)
{
case C2M_MakeMunalEquip.StoneType.Nomal:
{
if (data.manulEquipMakeCount <= 0)
{
if (data.manulEquipMakeCount <= 0)
{
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.Material[] materialArr2 = manulEquip.MaterialArr;
foreach (ManulEquip.Material needMaterial2 in materialArr2)
{
BagHelper.DeleteItem(bag, needMaterial2.MaterialId, needMaterial2.Count);
}
break;
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.Material[] materialArr2 = manulEquip.MaterialArr;
foreach (ManulEquip.Material needMaterial2 in materialArr2)
{
BagHelper.DeleteItem(bag, needMaterial2.MaterialId, needMaterial2.Count);
}
break;
}
case C2M_MakeMunalEquip.StoneType.Rare:
{
if (data.manulEquipMakeCount <= 0)
{
if (data.manulEquipMakeCount <= 0)
{
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.RareMaterial[] rareMaterialArr2 = manulEquip.RareMaterialArr;
foreach (ManulEquip.RareMaterial needMaterial3 in rareMaterialArr2)
{
BagHelper.DeleteItem(bag, needMaterial3.MaterialId, needMaterial3.Count);
}
break;
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.RareMaterial[] rareMaterialArr2 = manulEquip.RareMaterialArr;
foreach (ManulEquip.RareMaterial needMaterial3 in rareMaterialArr2)
{
BagHelper.DeleteItem(bag, needMaterial3.MaterialId, needMaterial3.Count);
}
break;
}
case C2M_MakeMunalEquip.StoneType.Epic:
{
ManulEquip.EpicMaterial[] epicMaterialArr2 = manulEquip.EpicMaterialArr;
foreach (ManulEquip.EpicMaterial needMaterial4 in epicMaterialArr2)
{
ManulEquip.EpicMaterial[] epicMaterialArr2 = manulEquip.EpicMaterialArr;
foreach (ManulEquip.EpicMaterial needMaterial4 in epicMaterialArr2)
{
BagHelper.DeleteItem(bag, needMaterial4.MaterialId, needMaterial4.Count);
}
break;
BagHelper.DeleteItem(bag, needMaterial4.MaterialId, needMaterial4.Count);
}
break;
}
case C2M_MakeMunalEquip.StoneType.UpgradeRare:
{
if (data.manulEquipMakeCount <= 0)
{
if (data.manulEquipMakeCount <= 0)
{
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.UpgradeRareMaterial[] upgradeRareMaterialArr2 = manulEquip.UpgradeRareMaterialArr;
foreach (ManulEquip.UpgradeRareMaterial needMaterial5 in upgradeRareMaterialArr2)
{
BagHelper.DeleteItem(bag, needMaterial5.MaterialId, needMaterial5.Count);
}
break;
return "今日制作次数达到上限";
}
data.manulEquipMakeCount--;
ManulEquip.UpgradeRareMaterial[] upgradeRareMaterialArr2 = manulEquip.UpgradeRareMaterialArr;
foreach (ManulEquip.UpgradeRareMaterial needMaterial5 in upgradeRareMaterialArr2)
{
BagHelper.DeleteItem(bag, needMaterial5.MaterialId, needMaterial5.Count);
}
break;
}
}
UnitHelper.SaveComponenet(data);
NumericComponent num = unit.GetComponent<NumericComponent>();
EquipItem equipItem = new EquipItem();
@ -599,8 +667,9 @@ namespace ET
Log.Error($"user== null where id ={unit.Id}");
return "系统错误,无人物信息";
}
AttributeType atkType = CharacterHelper.GetAtkType(user.JobId);
equipItem.CreateManul(unit,equipType2, atkType, isRare, num.GetAsInt(NumericType.Level));
equipItem.CreateManul(unit, equipType2, atkType, isRare, num.GetAsInt(NumericType.Level));
Item item = new Item(equipItem)
{
ServerId = Game.IdGenerater.GenerateId(),
@ -614,11 +683,13 @@ namespace ET
UnitHelper.SaveComponenet(bag);
if (equipItem.star >= 8)
{
Chat.Instance.SendSystemCaht($"千锤百炼,[color=#ffff00]{user.NickName.Trim()}[/color]成功制作出[color=#aa0000]{equipItem.star}[color=#aa0000]星[{BagHelper.GetName(equipItem.itemId)}]!");
Chat.Instance.SendSystemCaht(
$"千锤百炼,[color=#ffff00]{user.NickName.Trim()}[/color]成功制作出[color=#aa0000]{equipItem.star}[color=#aa0000]星[{BagHelper.GetName(equipItem.itemId)}]!");
}
else if (equipItem.quality >= Quality.Legendary)
{
Chat.Instance.SendSystemCaht("千锤百炼,[color=#ffff00]" + user.NickName.Trim() + "[/color]成功制作出[color=#aa0000]" + ((equipItem.quality == Quality.Legendary) ? "传奇" : "天工") + "[color=#aa0000]品质的[" + BagHelper.GetName(equipItem.itemId) + "]!");
Chat.Instance.SendSystemCaht("千锤百炼,[color=#ffff00]" + user.NickName.Trim() + "[/color]成功制作出[color=#aa0000]" +
((equipItem.quality == Quality.Legendary)? "传奇" : "天工") + "[color=#aa0000]品质的[" + BagHelper.GetName(equipItem.itemId) + "]!");
}
}
catch (Exception ex)
@ -626,8 +697,10 @@ namespace ET
Exception e = ex;
Log.Error(e);
}
return null;
}
public static async ETTask<(string, bool)> StrangeEquip(this ItemComponent self, Unit unit, int itemIndex)
{
try
@ -635,19 +708,22 @@ namespace ET
Bag bag = unit.GetComponent<Bag>();
if (!bag.ItemDic.TryGetValueByKey1(itemIndex, out Item item))
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中没有物品Index ={itemIndex}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中没有物品Index ={itemIndex}");
return ("系统错误", false);
}
if (item.IsEmpty)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中物品Index ={itemIndex}是空物品");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中物品Index ={itemIndex}是空物品");
return ("系统错误,强化的是空格子", false);
}
if (item.ItemType != ItemType.EquipItem)
{
Log.Error($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】背包中物品Index ={itemIndex}不是装备:{item.ItemType}");
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】背包中物品Index ={itemIndex}不是装备:{item.ItemType}");
return ("系统错误,不是装备", false);
}
EquipItem equipItem = item.data.As<EquipItem>();
if (equipItem.equipLevel >= ConstDefine.EquipMaxLevel)
{
@ -657,7 +733,6 @@ namespace ET
int targetLevel = equipItem.equipLevel + 1;
Strengthentable strengthentable = StrengthentableCategory.Instance.Get(targetLevel);
//材料
foreach (Strengthentable.NeedMaterial needMaterial in strengthentable.NeedMaterialArr)
{
@ -666,15 +741,18 @@ namespace ET
return ("材料不足", false);
}
}
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, strengthentable.NeedCoin * 10000);
if (ret != null)
{
return (ret, false);
}
foreach (Strengthentable.NeedMaterial needMaterial in strengthentable.NeedMaterialArr)
{
BagHelper.DeleteItem(bag, needMaterial._Id, needMaterial.Count);
}
bool isSuccess = false;
if (MathHelper.IsHit(strengthentable.Probability))
@ -696,11 +774,13 @@ namespace ET
}
else
kv = data.strengthCountList[index];
int count = kv.Value;
if (count <= 0)
{
//保底
data.strengthCountList[index] = KeyValuePair.Create(targetLevel, RandomHelper.RandomNumber(strengthentable.MaxMinCount, strengthentable.MaxMaxCount));
data.strengthCountList[index] = KeyValuePair.Create(targetLevel,
RandomHelper.RandomNumber(strengthentable.MaxMinCount, strengthentable.MaxMaxCount));
await Succeed(unit, equipItem, targetLevel);
isSuccess = true;
}
@ -711,8 +791,10 @@ namespace ET
--count;
data.strengthCountList[index] = KeyValuePair.Create(targetLevel, count);
}
UnitHelper.SaveComponenet(data);
}
UnitHelper.SaveComponenet(bag);
return (null, isSuccess);
}
@ -720,6 +802,7 @@ namespace ET
{
Log.Error(e);
}
return (null, false);
static async ETTask Succeed(Unit unit, EquipItem equipItem, int targetLevel)
@ -734,9 +817,12 @@ namespace ET
Log.Error($"user== null where id ={unit.Id}");
return;
}
Chat.Instance.SendSystemCaht($"天降洪福,[color=#ff6600]{user.NickName.Trim()}[/color]将装备[{BagHelper.GetName(equipItem.itemId)}]强化至[color=#ff0000]+{targetLevel}[/color],实力大增,称霸大业,近在咫尺!");
Chat.Instance.SendSystemCaht(
$"天降洪福,[color=#ff6600]{user.NickName.Trim()}[/color]将装备[{BagHelper.GetName(equipItem.itemId)}]强化至[color=#ff0000]+{targetLevel}[/color],实力大增,称霸大业,近在咫尺!");
return;
}
if (targetLevel > 12)
{
User user = await UserComponent.Instance.Query(unit.Id);
@ -745,7 +831,9 @@ namespace ET
Log.Error($"user== null where id ={unit.Id}");
return;
}
Chat.Instance.SendSystemCaht($"恭喜[color=#ffff00]{user.NickName.Trim()}[/color]鸿运当头,成功将装备[{BagHelper.GetName(equipItem.itemId)}]强化至[color=#aa0000]+{targetLevel}[/color]!");
Chat.Instance.SendSystemCaht(
$"恭喜[color=#ffff00]{user.NickName.Trim()}[/color]鸿运当头,成功将装备[{BagHelper.GetName(equipItem.itemId)}]强化至[color=#aa0000]+{targetLevel}[/color]!");
}
}
}
@ -754,16 +842,19 @@ namespace ET
{
if (!bag.ItemDic.TryGetValueByKey1(itemIndex, out Item item))
{
Log.Error($"【{ UserComponent.Instance.Get(bag.Id)?.NickName} ({ bag.Id})】背包中没有物品Index ={itemIndex}");
Log.Error($"【{UserComponent.Instance.Get(bag.Id)?.NickName} ({bag.Id})】背包中没有物品Index ={itemIndex}");
return null;
}
if (item.IsEmpty)
{
Log.Error($"【{ UserComponent.Instance.Get(bag.Id)?.NickName} ({ bag.Id})】背包中物品Index ={itemIndex}是空物品");
Log.Error($"【{UserComponent.Instance.Get(bag.Id)?.NickName} ({bag.Id})】背包中物品Index ={itemIndex}是空物品");
return null;
}
return item;
}
public static async ETTask<string> RefreshEquipMainAttribute(this ItemComponent self, Unit unit, int index)
{
await ETTask.CompletedTask;
@ -774,11 +865,13 @@ namespace ET
{
return "装备才能洗练";
}
EquipItem equipItem = item.data.As<EquipItem>();
if (equipItem.mainAttribute == null)
{
return "此装备无法洗练属性";
}
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, ConstDefine.RefreshEquipMainAttributePrice);
if (ret != null)
return ret;
@ -789,9 +882,11 @@ namespace ET
{
equipItem.mainAttribute[key] = ItemHelper.GetRandom(ConstDefine.EquipMaxRandom);
}
UnitHelper.SaveComponenet(bag);
return null;
}
public static async ETTask<string> RefreshEquipAffix(this ItemComponent self, Unit unit, int index)
{
Bag bag = unit.GetComponent<Bag>();
@ -801,11 +896,13 @@ namespace ET
{
return "装备才能洗练";
}
EquipItem equipItem = item.data.As<EquipItem>();
if (equipItem.addtionalAttributes == null)
{
return "装备错误";
}
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, ConstDefine.RefreshEquipAffixePrice);
if (ret != null)
return ret;
@ -817,10 +914,12 @@ namespace ET
User user = await UserComponent.Instance.Query(unit.Id);
level = user.Level;
}
ItemHelper.GenerateAdditionalAttribute(equipItem, level);
UnitHelper.SaveComponenet(bag);
return null;
}
/// <summary>
/// 拆卸宝石
/// </summary>
@ -836,28 +935,34 @@ namespace ET
{
return "不是装备";
}
EquipItem equipItem = item.data.As<EquipItem>();
if (equipItem.gemList == null)
{
return "装备错误";
}
if (gemIndex < 0 || gemIndex > equipItem.gemList.Length)
{
Log.Error($"【{UserComponent.Instance.Get(unit.Id)?.NickName}({unit.Id})】想要拆卸{gemIndex}位置的宝石");
return "系统错误";
}
int itemId = equipItem.gemList[gemIndex];
if (itemId == 0)
{
return "拆卸的位置没有宝石";
}
MaterialBase materialBase = MaterialBaseCategory.Instance.Get(itemId);
if ((MaterialsType)materialBase.MaterialType != MaterialsType.)
if ((MaterialsType) materialBase.MaterialType != MaterialsType.)
{
return "系统错误";
}
GemPriceConfig priceConfig = GemPriceConfigCategory.Instance.Get(materialBase.GemLevel);
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin, (long)(priceConfig.DiscountPrice * 10000 * MeltingAddPrice[gemIndex]));
string ret = CharacterHelper.ReduceMoney(unit, CharacterHelper.MoneyType.Coin,
(long) (priceConfig.DiscountPrice * 10000 * MeltingAddPrice[gemIndex]));
if (ret != null)
return ret;
equipItem.gemList[gemIndex] = 0;
@ -866,4 +971,4 @@ namespace ET
return null;
}
}
}
}

View File

@ -134,7 +134,7 @@ namespace ET
try
{
chatContent = chatContent.TrimStart(' ').TrimEnd(' ');
if(!chatContent.StartsWith("//"))
if (!chatContent.StartsWith("//"))
return;
if (chatContent.StartsWith("//changepetcolor"))
{
@ -200,19 +200,19 @@ namespace ET
return;
}
MarketBase marketBase = DataTableHelper.GetAll<MarketBase>().ToList().Find(t => t.ItemId == item.ItemId);
MarketBase marketBase = DataTableHelper.GetAll<MarketBase>().ToList().Find(t => t.ItemId == item.ItemId);
if (marketBase != null)
{
string ret = ItemComponent.Instance.DeleteItem(unit, 0, 1);
Log.Debug($"【{ UserComponent.Instance.Get(unit.Id)?.NickName} ({ unit.Id})】回收装备: id = {item.ItemId}");
int price = (int) (marketBase.Price_YuanBao*2*0.85f);
Log.Debug($"【{UserComponent.Instance.Get(unit.Id)?.NickName} ({unit.Id})】回收装备: id = {item.ItemId}");
int price = (int) (marketBase.Price_YuanBao * 2 * 0.85f);
CharacterHelper.AddMoney(unit, CharacterHelper.MoneyType.Voucher, price * 1);
if (!ret.Equals(string.Empty))
{
chatContent = ret;
}
}
chatContent = "success";
}
}
@ -220,6 +220,7 @@ namespace ET
{
chatContent = "指令错误";
}
UnitHelper.Save<Bag>(unit);
UnitHelper.Save<Character>(unit);
UnitHelper.Save<NumericComponent>(unit);

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
{ "fileMD5" : { "Anim.xlsx" : "545a68dfcadddaee53a26a0ba19376c1", "RobotAccount.xlsx" : "31431b89eabb3e5ecb63f20b59d30858", "LevelConfig.xlsx" : "91bc9dc0d28ba5b40afef4365043d3ab", "MapSceneConfig.xlsx" : "08b026a5e74128d9a03bc383fa166489", "PrefabConfig.xlsx" : "46ef389511d1c63705c182088bab0285", "RoleConfig.xlsx" : "b997e8f718e7427c9388ae0e27e93d16", "AnimationConfig.xlsx" : "0a7d708c495799f85a8c2a03ebb0dc49", "BossBase.xlsx" : "902b5cd733d84a68f2302d378c6e20c3", "CameraPosition.xlsx" : "fbf71d84ad155465c43ff60240de4284", "CharacterGrowth.xlsx" : "69df541d6441f2b902df1948ba3dd807", "EquipBase.xlsx" : "735f9050da5f8a4ae7274a9c474a1c85", "EquipForge.xlsx" : "67677f93025418c6d9e8e3034cd25f94", "FamilyBossConfig.xlsx" : "4638d86ae44590fa16405281a41fd7f6", "Forbidden.xlsx" : "28bbeeb0ebc58adab5eff9167497c7ac", "GoodsBase.xlsx" : "a818334a3c9467b871c40325567cb614", "ItemUpgrade.xlsx" : "59219d19522138c12d1688d3edb08e34", "MainStory.xlsx" : "b95ed8b061996738dea12eb10e86e9e8", "MarketBase.xlsx" : "1cf03fdbc8dd3a807c3576cf48544d41", "MaterialBase.xlsx" : "fde27b28249f8dad60a32f887982bfb7", "MonsterBase.xlsx" : "3694f35e8fb8228bd4fcf03c2ca3e0e4", "NPCBase.xlsx" : "e64543df667ad4bfcabddd90e50768ce", "OnlineRewardBase.xlsx" : "e376d6f31abc8c39397f03f8c24fc7bc", "QuestConfig.xlsx" : "882de4872ea851fea32138f6d48798b1", "RoleGrowth.xlsx" : "1384845a732285f6affef3cf6c67a672", "RolesPosition.xlsx" : "f5888586a320dfcd693c91c1f7cfc90d", "ShopBase.xlsx" : "717de9348e7b7501a5e819947a7fea7e", "SkillConfig.xlsx" : "9a1a4ad8302923aca4b8e6ed9a467a6a", "SkillGroupBase.xlsx" : "e926883a016ef8b883c5c2f69a25ac2a", "SkinBase.xlsx" : "aae232a5a6fab28a0316ba4b12baf95c", "Sys_Code.xlsx" : "8eff5c2fd8743578db17c86a81862d39", "Sys_Prefab.xlsx" : "a1ac8c0cb7a7660deeffca392f3d2723", "Sys_Scene.xlsx" : "ba8c899ec4d2f8724b74d7bbe6f3a7e9", "TaskBase.xlsx" : "ee662cf184466ba1311b2d44deebce4b", "TrialCopy.xlsx" : "b85d1a4bdc49dbc63a759a499aed8f5f", "Parentset.xlsx" : "fc4b7da4a6c56e32d62c87e838c61a40", "SonAdvancedSet.xlsx" : "7128d07efa77d9de70d956b71c926e31", "SonSet.xlsx" : "a688e3da0ebcb2b8f386e64f84391af2", "EffectConfig.xlsx" : "c49b8ae9632120926c26991a25381e35", "HonorShop.xlsx" : "e7f2f48832e7e5fb6f8d56771c0551a6", "SkillLearn.xlsx" : "fb6cbb056172b57358502f18abd86a62", "FamilyShop.xlsx" : "fceadcf0570b35f1f6f24b0a67c73020", "EquipAffixConfig.xlsx" : "e33e0d8d934d7c145c07f1093f412981", "EquipUpgrade.xlsx" : "dc4758cffc7cf51e2a125969b2fc1d49", "MainStoryExp.xlsx" : "1e191962e19dcae5344f53bda64a5dec", "ManulEquip.xlsx" : "0eb382ad71752f63bf1b235809c0c17f", "ManulEquipAttribute.xlsx" : "c4869a18be4c14784fd26b697fa23f86", "ManulEquipMonsterConfig.xlsx" : "da4ca0343b0c77aed966c3ee9568cf68", "TransmigrationAddConfig.xlsx" : "620912bfbe398914fa8b3bf21afeeccf", "EquipBase .xlsx" : "0d52dbe61e0808bc75f59207e73ad7fb", "TitleConfig.xlsx" : "07d9306032f86e7b9642a61a8a2ee966", "GemInlayConfig.xlsx" : "d2bfb6e76b895f5c8f1caed238eeb0f9", "Strengthentable.xlsx" : "fdb418090e31b0bfb93c9ae9fc9bd9f1", "GemPriceConfig.xlsx" : "011721c1a612634195bffd58fb895279", "MapMonsterConfig.xlsx" : "094c6284e0e19757498ad2bdce3648a6", "TransferJobConfig.xlsx" : "5b0daa2b0837e66196fbda214d72678a", "GMConfig.xlsx" : "c8e6ed377384ace1cf783e12b3ade4c8", "SuitConfig.xlsx" : "b67db1e911e14362e3409cb9f5f94216", "PetConfig.xlsx" : "99345c8836027cb36e42764b78cdd798", "PetLevelConfig.xlsx" : "a86c4cbde022ccd884ccf572ad5edfe7", "PetExploreConfig.xlsx" : "333043bd5c172def36660eca1dc8416a", "AIConfig.xlsx" : "871d248a954d8c59188e41d002135c75", "CopyConfig.xlsx" : "843c0c8009ee0d3615496b9226b2ee3b", "CopyRewordConfig.xlsx" : "f4de20211685f21d15a8170061fdc7d2", "SpaceTravelConfig.xlsx" : "be6486259f73db40a93bdecef00a066e", "SceneTransConfig.xlsx" : "ccce19f15dcbc9cbc37aa18009218b04", "ArenaShop.xlsx" : "3fd4650500dd2bf83064a1fd46e4444d", "StarShop.xlsx" : "e14b5e252416a12318e775d86dd1b2f7", "StarSoulTypeConfig.xlsx" : "c16e5b01ce7261f11f3c1c4c8db1f1d9", "StarSoulAttributeConfig.xlsx" : "eae313d2f6cf4fdba87e53f51dc7d57f", "StarSoulEquipAttributeTypeConfig.xlsx" : "0aadceefcf88bc9d2b6d5c643cad79ce", "StarSoulLevelConfig.xlsx" : "c19aa663716ffb2690e8b93edf3460bd", "ActivePerDayConfig.xlsx" : "a0c3da23ad62817ab5340b7dc041b777", "StarSoulCopyConfig.xlsx" : "921a5d72a0a56ef33bbe03285dafe9d5", "StarSoulResolveConfig.xlsx" : "ad1ce53ff0e030c0163ec5bb14b8e483", "MultiShop.xlsx" : "f5ef762f84d374fb7b8eb38e427264f8", "WorldBossConfig.xlsx" : "9b9c766cb9af33316006a292a1e69f88", "SignInRewardConfig.xlsx" : "c14f9cc0e923a456631aac307677c506", "SignInRewardMonth.xlsx" : "a422d902200ff009e2946040671aca80", "MaintainRewardConfig.xlsx" : "2b6add80e5380e36587042945c9662f8", "DeahtCopyConfig.xlsx" : "37c1d4e56559f10a9cb8210fd0242092", "JourneyOfDeathCopyConfig.xlsx" : "0a7961ba1b30e3ff9c96793bd40c0517", "ServerItemLimit.xlsx" : "9e63ab0ecbf6ad20cee94e9351dc99e1" } }
{ "fileMD5" : { "Anim.xlsx" : "545a68dfcadddaee53a26a0ba19376c1", "RobotAccount.xlsx" : "31431b89eabb3e5ecb63f20b59d30858", "LevelConfig.xlsx" : "91bc9dc0d28ba5b40afef4365043d3ab", "MapSceneConfig.xlsx" : "08b026a5e74128d9a03bc383fa166489", "PrefabConfig.xlsx" : "46ef389511d1c63705c182088bab0285", "RoleConfig.xlsx" : "b997e8f718e7427c9388ae0e27e93d16", "AnimationConfig.xlsx" : "0a7d708c495799f85a8c2a03ebb0dc49", "BossBase.xlsx" : "902b5cd733d84a68f2302d378c6e20c3", "CameraPosition.xlsx" : "fbf71d84ad155465c43ff60240de4284", "CharacterGrowth.xlsx" : "69df541d6441f2b902df1948ba3dd807", "EquipBase.xlsx" : "3dc1df648547e15596b36acb02d43a03", "EquipForge.xlsx" : "67677f93025418c6d9e8e3034cd25f94", "FamilyBossConfig.xlsx" : "4638d86ae44590fa16405281a41fd7f6", "Forbidden.xlsx" : "28bbeeb0ebc58adab5eff9167497c7ac", "GoodsBase.xlsx" : "a818334a3c9467b871c40325567cb614", "ItemUpgrade.xlsx" : "59219d19522138c12d1688d3edb08e34", "MainStory.xlsx" : "b95ed8b061996738dea12eb10e86e9e8", "MarketBase.xlsx" : "1cf03fdbc8dd3a807c3576cf48544d41", "MaterialBase.xlsx" : "fde27b28249f8dad60a32f887982bfb7", "MonsterBase.xlsx" : "3694f35e8fb8228bd4fcf03c2ca3e0e4", "NPCBase.xlsx" : "e64543df667ad4bfcabddd90e50768ce", "OnlineRewardBase.xlsx" : "e376d6f31abc8c39397f03f8c24fc7bc", "QuestConfig.xlsx" : "882de4872ea851fea32138f6d48798b1", "RoleGrowth.xlsx" : "1384845a732285f6affef3cf6c67a672", "RolesPosition.xlsx" : "f5888586a320dfcd693c91c1f7cfc90d", "ShopBase.xlsx" : "717de9348e7b7501a5e819947a7fea7e", "SkillConfig.xlsx" : "cc84b9a94d2a2b001c6d35f2678ec8e3", "SkillGroupBase.xlsx" : "e926883a016ef8b883c5c2f69a25ac2a", "SkinBase.xlsx" : "aae232a5a6fab28a0316ba4b12baf95c", "Sys_Code.xlsx" : "8eff5c2fd8743578db17c86a81862d39", "Sys_Prefab.xlsx" : "a1ac8c0cb7a7660deeffca392f3d2723", "Sys_Scene.xlsx" : "ba8c899ec4d2f8724b74d7bbe6f3a7e9", "TaskBase.xlsx" : "ee662cf184466ba1311b2d44deebce4b", "TrialCopy.xlsx" : "b85d1a4bdc49dbc63a759a499aed8f5f", "Parentset.xlsx" : "fc4b7da4a6c56e32d62c87e838c61a40", "SonAdvancedSet.xlsx" : "7128d07efa77d9de70d956b71c926e31", "SonSet.xlsx" : "384a68ed2c585d879db46417d47c7395", "EffectConfig.xlsx" : "c49b8ae9632120926c26991a25381e35", "HonorShop.xlsx" : "e7f2f48832e7e5fb6f8d56771c0551a6", "SkillLearn.xlsx" : "fb6cbb056172b57358502f18abd86a62", "FamilyShop.xlsx" : "fceadcf0570b35f1f6f24b0a67c73020", "EquipAffixConfig.xlsx" : "e33e0d8d934d7c145c07f1093f412981", "EquipUpgrade.xlsx" : "dc4758cffc7cf51e2a125969b2fc1d49", "MainStoryExp.xlsx" : "1e191962e19dcae5344f53bda64a5dec", "ManulEquip.xlsx" : "0eb382ad71752f63bf1b235809c0c17f", "ManulEquipAttribute.xlsx" : "c4869a18be4c14784fd26b697fa23f86", "ManulEquipMonsterConfig.xlsx" : "da4ca0343b0c77aed966c3ee9568cf68", "TransmigrationAddConfig.xlsx" : "620912bfbe398914fa8b3bf21afeeccf", "EquipBase .xlsx" : "0d52dbe61e0808bc75f59207e73ad7fb", "TitleConfig.xlsx" : "07d9306032f86e7b9642a61a8a2ee966", "GemInlayConfig.xlsx" : "d2bfb6e76b895f5c8f1caed238eeb0f9", "Strengthentable.xlsx" : "fdb418090e31b0bfb93c9ae9fc9bd9f1", "GemPriceConfig.xlsx" : "011721c1a612634195bffd58fb895279", "MapMonsterConfig.xlsx" : "094c6284e0e19757498ad2bdce3648a6", "TransferJobConfig.xlsx" : "5b0daa2b0837e66196fbda214d72678a", "GMConfig.xlsx" : "c8e6ed377384ace1cf783e12b3ade4c8", "SuitConfig.xlsx" : "b67db1e911e14362e3409cb9f5f94216", "PetConfig.xlsx" : "99345c8836027cb36e42764b78cdd798", "PetLevelConfig.xlsx" : "a86c4cbde022ccd884ccf572ad5edfe7", "PetExploreConfig.xlsx" : "333043bd5c172def36660eca1dc8416a", "AIConfig.xlsx" : "871d248a954d8c59188e41d002135c75", "CopyConfig.xlsx" : "843c0c8009ee0d3615496b9226b2ee3b", "CopyRewordConfig.xlsx" : "f4de20211685f21d15a8170061fdc7d2", "SpaceTravelConfig.xlsx" : "be6486259f73db40a93bdecef00a066e", "SceneTransConfig.xlsx" : "ccce19f15dcbc9cbc37aa18009218b04", "ArenaShop.xlsx" : "3fd4650500dd2bf83064a1fd46e4444d", "StarShop.xlsx" : "e14b5e252416a12318e775d86dd1b2f7", "StarSoulTypeConfig.xlsx" : "c16e5b01ce7261f11f3c1c4c8db1f1d9", "StarSoulAttributeConfig.xlsx" : "eae313d2f6cf4fdba87e53f51dc7d57f", "StarSoulEquipAttributeTypeConfig.xlsx" : "0aadceefcf88bc9d2b6d5c643cad79ce", "StarSoulLevelConfig.xlsx" : "c19aa663716ffb2690e8b93edf3460bd", "ActivePerDayConfig.xlsx" : "a0c3da23ad62817ab5340b7dc041b777", "StarSoulCopyConfig.xlsx" : "921a5d72a0a56ef33bbe03285dafe9d5", "StarSoulResolveConfig.xlsx" : "ad1ce53ff0e030c0163ec5bb14b8e483", "MultiShop.xlsx" : "f5ef762f84d374fb7b8eb38e427264f8", "WorldBossConfig.xlsx" : "9b9c766cb9af33316006a292a1e69f88", "SignInRewardConfig.xlsx" : "c14f9cc0e923a456631aac307677c506", "SignInRewardMonth.xlsx" : "a422d902200ff009e2946040671aca80", "MaintainRewardConfig.xlsx" : "a03c8b7762b053c86ea94167d5a89f58", "DeahtCopyConfig.xlsx" : "37c1d4e56559f10a9cb8210fd0242092", "JourneyOfDeathCopyConfig.xlsx" : "0a7961ba1b30e3ff9c96793bd40c0517", "ServerItemLimit.xlsx" : "9e63ab0ecbf6ad20cee94e9351dc99e1" } }

File diff suppressed because one or more lines are too long

View File

@ -3,8 +3,7 @@
高级急救1-5级治疗加成分别调整为1001101201301405级的暴击治疗量由12%→6%
连锁注射1-4级的治疗量分别调整为1233治疗单位由1-5个单位→3-5个单位添加的防御由26%→30%
2.军官技能调整:
神明护佑冷却时间8s→9s;1-5级的护盾量调整为1%2%4%6%8%
坚不可摧1-3级的护盾量调整为4%6%8%
神明护佑冷却时间8s→9s;
致命打击1-4级伤害调整为1%2%4%7%新增20%几率给敌方添加2%敌方最大生命值的【流血】持续10s
风火双龙弹1-3级的伤害调整为2%4%7%新增25%几率给敌方添加2%敌方最大生命值的【点燃】持续10s
3.6000级boss增加掉落物金砂增加掉落物500代金券礼券

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
eNqVjDELwjAUhPdA/oPc6hteohZ5m9TFoYuDICGUQmvJkkKsOEj+u9GCu8MNH3ffOa2cYTa0eqENPeQLuEIsW0toIBXhCNkQLkO6hymWDeE8PLvUH1KCuGLOEDRdiHPJUtVTvIVxvQAI7elzbtjyllBPj1gUs2PO9Je+t9VPt5l89qSV1+oN8tc5pg==
eNoljb0KwjAUhfdA3kHO6h1ughR6N6mLQxcHQUIohdaSJYEYcZC+u6kdzvBx/pxWzjAbOnwxhAnyBzwglq0l9JCGcKnYEu5zfoUUa4hwmz9jns45Q1ytFgj6McRStVtdis+wHHcAYbhu64YtnwhdeseyfTCv5FdPWnmtfmWaJtg=

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -22,8 +22,8 @@ MonoBehaviour:
PrefabModifications: []
SerializationNodes: []
ClientVersion: 2.3
IsEditorMode: 0
IsLocal: 0
IsEditorMode: 1
IsLocal: 1
LocalResPath: http://127.0.0.1:2083/
LocalServerPath: 127.0.0.1:7756
ResPath: http://121.196.171.57:2085/

File diff suppressed because it is too large Load Diff

View File

@ -29,7 +29,7 @@ MonoBehaviour:
searchPatternPrefab: '*.prefab'
searchPatternScene: '*.unity'
searchPatternText: '*.txt,*.bytes,*.json,*.csv,*.xml,*htm,*.html,*.yaml,*.fnt'
version: 434
version: 438
scenesInBuild:
- {fileID: 102900000, guid: e0d691ac8c1d0454ba07089ea820e18a, type: 3}
- {fileID: 102900000, guid: d378f07356e960549add8141397b1462, type: 3}

View File

@ -1 +1 @@
{ "_t" : "GlobalProto", "AssetBundleServerUrl" : "http://121.196.171.57:2085/", "Address" : "121.196.171.57:7756", "LocalAssetBundleServerUrl" : "http://127.0.0.1:2083/", "LocalAddress" : "127.0.0.1:7756", "isLocal" : false, "isEditorMode" : false, "ClientVersion" : "2.3" }
{ "_t" : "GlobalProto", "AssetBundleServerUrl" : "http://121.196.171.57:2085/", "Address" : "121.196.171.57:7756", "LocalAssetBundleServerUrl" : "http://127.0.0.1:2083/", "LocalAddress" : "127.0.0.1:7756", "isLocal" : true, "isEditorMode" : true, "ClientVersion" : "2.3" }

File diff suppressed because one or more lines are too long

View File

@ -944,11 +944,11 @@ MonoBehaviour:
values:
keys: 0100000002000000030000000400000005000000
values:
- 1
- 2
- 4
- 6
- 8
- 12
- 16
- 20
- 28
skillSourcetype: 1
value: 0
treatCalculate_Target:

View File

@ -1195,7 +1195,7 @@ MonoBehaviour:
- {fileID: -1488754115210943924}
- {fileID: -8724257390191779981}
maxModifierId: 14
maxUniqeId: 12
maxUniqeId: 18
--- !u!114 &197258648997129354
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1465,7 +1465,7 @@ MonoBehaviour:
Data:
- Name:
Entry: 12
Data: 1
Data: 2
- Name:
Entry: 7
Data:
@ -1490,6 +1490,30 @@ MonoBehaviour:
- Name:
Entry: 8
Data:
- Name:
Entry: 7
Data:
- Name: $k
Entry: 1
Data: result
- Name: $v
Entry: 7
Data: 3|System.Collections.Generic.List`1[[System.Int32, mscorlib]], mscorlib
- Name:
Entry: 12
Data: 1
- Name:
Entry: 3
Data: 2
- Name:
Entry: 13
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 8
Data:
- Name:
Entry: 13
Data:

View File

@ -1258,7 +1258,7 @@ MonoBehaviour:
Entry: 8
Data:
graph: {fileID: 11400000}
position: {x: 1261.5, y: -88}
position: {x: 1272, y: -88}
ports:
keys:
- input
@ -1295,8 +1295,9 @@ MonoBehaviour:
calculateType: 2
param:
values:
keys: 010000000200000003000000
keys: 01000000020000000300000004000000
values:
- 1
- 2
- 4
- 7

View File

@ -1091,9 +1091,9 @@ MonoBehaviour:
values:
keys: 010000000200000003000000
values:
- 4
- 6
- 8
- 5
- 10
- 14
skillSourcetype: 1
value: 0
treatCalculate_Target:

View File

@ -11,133 +11,133 @@ EditorBuildSettings:
- enabled: 1
path: Assets/Res/Common/Splash.unity
guid: d378f07356e960549add8141397b1462
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_ActiveTask.unity
guid: 45280bed83d2e344590ce61ace27b83c
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_BattleIdle.unity
guid: ae137edf722298941944efba11422c1d
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Beach.unity
guid: d46ff12dcf1834b4dad6ddfe45458e65
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Boss.unity
guid: dd04855bd8f8a8c4083a5f4482ac7258
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Challenge.unity
guid: 01f636e71f5382b4687e608ccd7c47e6
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_CreateRole.unity
guid: 6f3aa9ba25869814fb05cf1fe1cab8ff
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_EnterGame.unity
guid: b6b5bad50076adc4d9a975c98327a073
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_FimalyBattle.unity
guid: b03d5f9f8d2f95d4c894089ad4840c60
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_GuardianPark.unity
guid: dfdfb988ae306cc4699ad910ce5f5f82
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_HonorTemple.unity
guid: 6a434142803416748a830775403bb331
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Login.unity
guid: 30dd40811005c814f807648e46cb03ed
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainCity.unity
guid: 5ea4281985825f54c844f0404bedb358
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory1.unity
guid: c57b27b08ffaa8a4f91a15c02d5de805
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory2.unity
guid: 99b174b0ca8cbf048a57ef0576a69da0
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory3.unity
guid: e13303a3e71f0f84fb7f9070100ac6e4
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory4.unity
guid: 52af5cd6587f9da4ba46b77e0e94ffe8
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory5.unity
guid: 610bb772748d9e14b900c143561e8aaa
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory6.unity
guid: 47d839d999f6edc41a9f70755023b7e8
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory7.unity
guid: 9d72f13296e57cd4ab4452b6e96a7a87
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory8.unity
guid: e4c4febf70bcd034099ac0ed0ba69d24
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory9.unity
guid: 782d2e6a67496b442b64d76a0d3989c0
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory10.unity
guid: 4203f3f88fec5654f909cbe5982fcb9c
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory11.unity
guid: 31ac6240fd8b27444b56b6f62de91781
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory12.unity
guid: eb554d641fba0f8409680b8f8d0b9d5e
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory13.unity
guid: 3531d4659f140034d9263756f5f58a6c
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory14.unity
guid: 56cf57dd7aea50d489258cd408bd6520
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory15.unity
guid: 7961e32a2d901654787d54b8fb764e23
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MainStory16.unity
guid: 5e537e3afb972e44baed795a51cbe939
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_SpaceTravel.unity
guid: 287d198c9a3c048258470a9336253cc5
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_StarSoul.unity
guid: a8e745dfd7e2d434a925d37781af77f5
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_WorldBoss.unity
guid: 9268d7a39379947e3b8cba62bc75d789
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_MarvellousSquare.unity
guid: 1e11547db33b2ee439e611d01dcc9f0d
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Pve.unity
guid: e415bacbb0283f24baca2c264f9ccfd1
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_PersonalPvp1.unity
guid: 0e3f95dffb62df641b220bf8ccc1b7f8
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_PersonalPvp2.unity
guid: 9ccf7a60ffac9be4ab3263a3b67cf9bf
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_PersonalPvp3.unity
guid: 5f618dca93745264f8fb5261621a3bcb
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_ManulEquip1.unity
guid: cb98f349f62e32d45a0a8ef57a0b6633
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_ManulEquip2.unity
guid: 8981e7a1731d15c4caa1479fb37223c4
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_ManulEquip3.unity
guid: aab02a6706a731043add237eab876f6c
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_PersonalBoss.unity
guid: e971fbe570ac7284baffa4db1e8b7cbc
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Challenge_Middle.unity
guid: 2d2d745676fe74945894a6d128bd1851
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Challenge_Hard.unity
guid: 2c493ca3d57147a41b50962f3e421e56
- enabled: 0
- enabled: 1
path: Assets/Download/Scenes/Scene_Death.unity
guid: 6c04cf06a2bd99045b769746dbf3fa95
m_configObjects:

View File

@ -13,7 +13,7 @@ PlayerSettings:
useOnDemandResources: 0
accelerometerFrequency: 60
companyName: CTT
productName: "\u68A6\u5E7B\u5947\u9047\u8BB0"
productName: "\u68A6\u5E7B\u5947\u9047\u8BB0\u672C\u5730\u6D4B\u8BD5"
defaultCursor: {fileID: 2800000, guid: c638315465f73de4fbe8503c28859260, type: 3}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}