diff --git a/Kx.SeaTime.sln.DotSettings.user b/Kx.SeaTime.sln.DotSettings.user
index f1f5bbe..f7d6c25 100644
--- a/Kx.SeaTime.sln.DotSettings.user
+++ b/Kx.SeaTime.sln.DotSettings.user
@@ -5,8 +5,10 @@
ForceIncluded
ForceIncluded
ForceIncluded
+ ForceIncluded
ForceIncluded
ForceIncluded
+ ForceIncluded
ForceIncluded
ForceIncluded
ForceIncluded
diff --git a/Service/Application.Domain.Entity/db/unit_user_load.cs b/Service/Application.Domain.Entity/db/unit_user_load.cs
new file mode 100644
index 0000000..d0d9e3d
--- /dev/null
+++ b/Service/Application.Domain.Entity/db/unit_user_load.cs
@@ -0,0 +1,10 @@
+namespace Application.Domain.Entity;
+
+public class unit_user_load
+{
+ public string id { get; set; }
+ public string userId { get; set; }
+ public string name { get; set; }
+ public string code { get; set; }
+ public int count { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/game/user/unit_user_drug.cs b/Service/Application.Domain.Entity/game/user/unit_user_drug.cs
new file mode 100644
index 0000000..49dd28d
--- /dev/null
+++ b/Service/Application.Domain.Entity/game/user/unit_user_drug.cs
@@ -0,0 +1,21 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Game")]
+ public class unit_user_drug
+ {
+ ///
+ /// userId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string userId { get; set; }
+
+ ///
+ /// drug
+ ///
+ [SugarColumn(IsNullable = true,IsJson = true)]
+ public List drug { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/game/user/unit_user_monster.cs b/Service/Application.Domain.Entity/game/user/unit_user_monster.cs
new file mode 100644
index 0000000..2a6a918
--- /dev/null
+++ b/Service/Application.Domain.Entity/game/user/unit_user_monster.cs
@@ -0,0 +1,69 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Game")]
+ public class unit_user_monster
+ {
+ ///
+ /// umId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string umId { get; set; }
+
+ ///
+ /// userId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? userId { get; set; }
+
+ ///
+ /// areaCode
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? areaCode { get; set; }
+
+ ///
+ /// mapId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? mapId { get; set; }
+
+ ///
+ /// monsterId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? monsterId { get; set; }
+
+ ///
+ /// monsterName
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? monsterName { get; set; }
+
+ ///
+ /// code
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? code { get; set; }
+
+ ///
+ /// par
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? par { get; set; }
+
+ ///
+ /// addTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? addTime { get; set; }
+
+ ///
+ /// endTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? endTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/game/user/unit_user_ship.cs b/Service/Application.Domain.Entity/game/user/unit_user_ship.cs
index 790a786..40df711 100644
--- a/Service/Application.Domain.Entity/game/user/unit_user_ship.cs
+++ b/Service/Application.Domain.Entity/game/user/unit_user_ship.cs
@@ -47,5 +47,17 @@ namespace Application.Domain.Entity
///
[SugarColumn(IsNullable = true)]
public int? copper { get; set; }
+
+ ///
+ /// 出售价格
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? sale { get; set; }
+
+ ///
+ /// remark
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? remark { get; set; }
}
}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/game/user/unit_user_state.cs b/Service/Application.Domain.Entity/game/user/unit_user_state.cs
new file mode 100644
index 0000000..0474c53
--- /dev/null
+++ b/Service/Application.Domain.Entity/game/user/unit_user_state.cs
@@ -0,0 +1,63 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Game")]
+ public class unit_user_state
+ {
+ ///
+ /// usId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string usId { get; set; }
+
+ ///
+ /// userId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? userId { get; set; }
+
+ ///
+ /// goodsId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? goodsId { get; set; }
+
+ ///
+ /// name
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? name { get; set; }
+
+ ///
+ /// 场景
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? scene { get; set; }
+
+ ///
+ /// tips
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? tips { get; set; }
+
+ ///
+ /// attr
+ ///
+ [SugarColumn(IsNullable = true,IsJson = true)]
+ public List attr { get; set; }
+
+ ///
+ /// addTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? addTime { get; set; }
+
+ ///
+ /// endTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? endTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/game/user/unit_user_stock.cs b/Service/Application.Domain.Entity/game/user/unit_user_stock.cs
new file mode 100644
index 0000000..e60cd51
--- /dev/null
+++ b/Service/Application.Domain.Entity/game/user/unit_user_stock.cs
@@ -0,0 +1,60 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Game")]
+ public class unit_user_stock
+ {
+ ///
+ /// usId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string usId { get; set; }
+
+ ///
+ /// userId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? userId { get; set; }
+
+ ///
+ /// goodsId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? goodsId { get; set; }
+
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? name { get; set; }
+
+ ///
+ /// type
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? type { get; set; }
+
+ ///
+ /// code
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? code { get; set; }
+
+ ///
+ /// sign
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? sign { get; set; }
+
+ ///
+ /// par
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? par { get; set; }
+
+ ///
+ /// endTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? endTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/logdb/db/game_fight_data.cs b/Service/Application.Domain.Entity/logdb/db/game_fight_data.cs
new file mode 100644
index 0000000..e376d71
--- /dev/null
+++ b/Service/Application.Domain.Entity/logdb/db/game_fight_data.cs
@@ -0,0 +1,113 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Log")]
+ public class game_fight_data
+ {
+ ///
+ /// fightId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string fightId { get; set; }
+
+ ///
+ /// 作用区域
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? areaCode { get; set; }
+
+ ///
+ /// 关联ID
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? keyId { get; set; }
+
+ ///
+ /// 对方主ID
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? mainId { get; set; }
+
+ ///
+ /// 战斗类型
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? code { get; set; }
+
+ ///
+ /// 场景
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? scene { get; set; }
+
+ ///
+ /// mapId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? mapId { get; set; }
+
+ ///
+ /// userId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? userId { get; set; }
+
+ ///
+ /// state
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? state { get; set; }
+
+ ///
+ /// 胜利方
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? winUser { get; set; }
+
+ ///
+ /// 经验
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? exp { get; set; }
+
+ ///
+ /// 铜贝
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? copper { get; set; }
+
+ ///
+ /// 宠物经验
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? petExp { get; set; }
+
+ ///
+ /// 奖励
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? award { get; set; }
+
+ [SugarColumn(IsNullable = true)]
+ public string? pars { get; set; }
+ ///
+ /// addTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? addTime { get; set; }
+
+ ///
+ /// 战斗结束时间
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? okTime { get; set; }
+
+ ///
+ /// 删除时间
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? endTime { get; set; }
+ }
+}
diff --git a/Service/Application.Domain.Entity/logdb/ot/game_broadcast.cs b/Service/Application.Domain.Entity/logdb/ot/game_broadcast.cs
new file mode 100644
index 0000000..0ac16cb
--- /dev/null
+++ b/Service/Application.Domain.Entity/logdb/ot/game_broadcast.cs
@@ -0,0 +1,13 @@
+namespace Application.Domain.Entity;
+
+public class game_broadcast
+{
+ public string Id { get; set; }
+ public int area { get; set; }
+ public string code { get; set; }
+ public string userId { get; set; }
+ public string userNo { get; set; }
+ public string nick { get; set; }
+ public string msg { get; set; }
+ public long endTime { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/CheckTowerNeeds.cs b/Service/Application.Domain.Entity/model/CheckTowerNeeds.cs
new file mode 100644
index 0000000..98f08a2
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/CheckTowerNeeds.cs
@@ -0,0 +1,30 @@
+namespace Application.Domain.Entity;
+
+public class CheckTowerNeeds
+{
+ private bool _result;
+
+ public bool result
+ { get { return this._result; } set { this._result = value; } }
+
+ private System.Int32 _isDeal;
+
+ ///
+ /// 0不可交易1可交易
+ ///
+ public System.Int32 isDeal
+ { get { return this._isDeal; } set { this._isDeal = value; } }
+
+ private System.Int32 _isGive;
+
+ ///
+ /// 0不可交易1可交易
+ ///
+ public System.Int32 isGive
+ { get { return this._isGive; } set { this._isGive = value; } }
+
+ private List _Needs;
+
+ public List Needs
+ { get { return this._Needs; } set { this._Needs = value; } }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/ChoiceGoods.cs b/Service/Application.Domain.Entity/model/ChoiceGoods.cs
new file mode 100644
index 0000000..cee2e53
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/ChoiceGoods.cs
@@ -0,0 +1,8 @@
+namespace Application.Domain.Entity;
+
+public class ChoiceGoods
+{
+ public int id { get; set; }
+ public string name { get; set; }
+ public List award { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/EquAwaken.cs b/Service/Application.Domain.Entity/model/EquAwaken.cs
index f21bf14..352ba9b 100644
--- a/Service/Application.Domain.Entity/model/EquAwaken.cs
+++ b/Service/Application.Domain.Entity/model/EquAwaken.cs
@@ -31,7 +31,6 @@ public class EquAwaken
///
///
///
- [SqlSugar.SugarColumn(ColumnDataType = "varchar(max)", IsJson = true)]
public List awaken
{ get { return this._awaken; } set { this._awaken = value; } }
}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/EquAwakenData.cs b/Service/Application.Domain.Entity/model/EquAwakenData.cs
new file mode 100644
index 0000000..f9312fa
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/EquAwakenData.cs
@@ -0,0 +1,36 @@
+namespace Application.Domain.Entity;
+
+public class EquAwakenData
+{
+ private System.Int32 _lev;
+
+ ///
+ ///
+ ///
+ public System.Int32 lev
+ { get { return this._lev; } set { this._lev = value; } }
+
+ private System.Int32 _success;
+
+ ///
+ ///
+ ///
+ public System.Int32 success
+ { get { return this._success; } set { this._success = value; } }
+
+ private List _need;
+
+ ///
+ ///
+ ///
+ public List need
+ { get { return this._need; } set { this._need = value; } }
+
+ private List _attr;
+
+ ///
+ ///
+ ///
+ public List attr
+ { get { return this._attr; } set { this._attr = value; } }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/FightAwardModel.cs b/Service/Application.Domain.Entity/model/FightAwardModel.cs
new file mode 100644
index 0000000..7cfcfb3
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/FightAwardModel.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain.Entity;
+
+public class FightAwardModel
+{
+ public string code { get; set; }
+ public object award { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/MapMonsterModel.cs b/Service/Application.Domain.Entity/model/MapMonsterModel.cs
new file mode 100644
index 0000000..7c9d6cf
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/MapMonsterModel.cs
@@ -0,0 +1,13 @@
+namespace Application.Domain.Entity;
+
+public class MapMonsterModel
+{
+ public string monterId { get; set; }
+ public string name { get; set; }
+ ///
+ /// 0地图怪物 1生成怪物
+ ///
+ public int type { get; set; }
+
+ public string sign { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/MonsterAwardModel.cs b/Service/Application.Domain.Entity/model/MonsterAwardModel.cs
new file mode 100644
index 0000000..41df820
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/MonsterAwardModel.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain.Entity;
+
+public class MonsterAwardModel
+{
+ public string type { get; set; }
+ public RandomModel award { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/RandomDataBase.cs b/Service/Application.Domain.Entity/model/RandomDataBase.cs
new file mode 100644
index 0000000..cdfbea9
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/RandomDataBase.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain.Entity;
+
+public class RandomDataBase
+{
+ public double random { get; set; }
+ public object data { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/RandomModel.cs b/Service/Application.Domain.Entity/model/RandomModel.cs
index 28f1277..8c3983f 100644
--- a/Service/Application.Domain.Entity/model/RandomModel.cs
+++ b/Service/Application.Domain.Entity/model/RandomModel.cs
@@ -22,6 +22,7 @@ public class RandomData
public string code { get; set; }
public string name { get; set; }
public string par { get; set; }
- public long count { get; set; }
+ public int minCount { get; set; }
+ public int maxCount { get; set; }
public double chance { get; set; }
}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/TowerNeed.cs b/Service/Application.Domain.Entity/model/TowerNeed.cs
index 373d076..f27a720 100644
--- a/Service/Application.Domain.Entity/model/TowerNeed.cs
+++ b/Service/Application.Domain.Entity/model/TowerNeed.cs
@@ -26,20 +26,20 @@ public class TowerNeed
public System.String parameter
{ get { return this._parameter; } set { this._parameter = value; } }
- private System.Int32 _count;
+ private long _count;
///
///
///
- public System.Int32 count
+ public long count
{ get { return this._count; } set { this._count = value; } }
- private System.Int32 _retCount;
+ private long _retCount;
///
///
///
- public System.Int32 retCount
+ public long retCount
{ get { return this._retCount; } set { this._retCount = value; } }
private System.Int32 _isOp;
@@ -57,4 +57,12 @@ public class TowerNeed
///
public System.Int32 isAsk
{ get { return this._isAsk; } set { this._isAsk = value; } }
+
+ private long _onCount;
+
+ ///
+ ///
+ ///
+ public long onCount
+ { get { return this._onCount; } set { this._onCount = value; } }
}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/TowerNeeds.cs b/Service/Application.Domain.Entity/model/TowerNeeds.cs
new file mode 100644
index 0000000..050df10
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/TowerNeeds.cs
@@ -0,0 +1,111 @@
+namespace Application.Domain.Entity;
+
+public class TowerNeeds
+{
+ private System.Int32 _Id;
+
+ ///
+ ///
+ ///
+ public System.Int32 Id
+ {
+ get { return this._Id; }
+ set { this._Id = value; }
+ }
+
+ private System.String _code;
+
+ ///
+ ///
+ ///
+ public System.String code
+ {
+ get { return this._code; }
+ set { this._code = value; }
+ }
+
+ private System.String _name;
+
+ ///
+ ///
+ ///
+ public System.String name
+ {
+ get { return this._name; }
+ set { this._name = value; }
+ }
+
+ private System.String _parameter;
+
+ ///
+ ///
+ ///
+ public System.String parameter
+ {
+ get { return this._parameter; }
+ set { this._parameter = value; }
+ }
+
+ private long _count;
+
+ ///
+ ///
+ ///
+ public long count
+ {
+ get { return this._count; }
+ set { this._count = value; }
+ }
+
+ private long _retCount;
+
+ ///
+ ///
+ ///
+ public long retCount
+ {
+ get { return this._retCount; }
+ set { this._retCount = value; }
+ }
+
+ private System.Int32 _isOp;
+
+ ///
+ ///
+ ///
+ public System.Int32 isOp
+ {
+ get { return this._isOp; }
+ set { this._isOp = value; }
+ }
+
+ private System.Int32 _isAsk;
+
+ ///
+ ///
+ ///
+ public System.Int32 isAsk
+ {
+ get { return this._isAsk; }
+ set { this._isAsk = value; }
+ }
+
+ private long _onCount;
+
+ ///
+ ///
+ ///
+ public long onCount
+ {
+ get { return this._onCount; }
+ set { this._onCount = value; }
+ }
+
+ private List _NeedItem;
+
+ public List NeedItem
+ {
+ get { return this._NeedItem; }
+ set { this._NeedItem = value; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/UserAttrModel.cs b/Service/Application.Domain.Entity/model/UserAttrModel.cs
index a0fae81..168e436 100644
--- a/Service/Application.Domain.Entity/model/UserAttrModel.cs
+++ b/Service/Application.Domain.Entity/model/UserAttrModel.cs
@@ -8,11 +8,14 @@
public int isCopy { get; set; }
public string viceId { get; set; }
public string name { get; set; }
- public int figState { get; set; }
public string sex { get; set; }
public string code { get; set; }
- public string remark { get; set; }
- public string TmImg { get; set; }
+ public string tips { get; set; }
+ public decimal addExp { get; set; }
+ public decimal addGold { get; set; }
+ public decimal burst { get; set; }//爆率
+ public decimal luck { get; set; }//幸运
+ public int weight { get; set; }//负重
public int lev { get; set; }//等级
public int minAtk { get; set; }//最小攻击
public int maxAtk { get; set; }//最大攻击
diff --git a/Service/Application.Domain.Entity/model/UserDrugModel.cs b/Service/Application.Domain.Entity/model/UserDrugModel.cs
new file mode 100644
index 0000000..8c045a1
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/UserDrugModel.cs
@@ -0,0 +1,10 @@
+namespace Application.Domain.Entity;
+
+public class UserDrugModel
+{
+ public string id { get; set; }
+ public int goodsId { get; set; }
+ public string name { get; set; }
+ public string code { get; set; }
+ public int count { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/UserEquAttrModel.cs b/Service/Application.Domain.Entity/model/UserEquAttrModel.cs
new file mode 100644
index 0000000..b42b685
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/UserEquAttrModel.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain.Entity;
+
+public class UserEquAttrModel
+{
+ public UserAttrModel equ { get; set; }
+ public List attr { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/UserEquSuit.cs b/Service/Application.Domain.Entity/model/UserEquSuit.cs
new file mode 100644
index 0000000..612af94
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/UserEquSuit.cs
@@ -0,0 +1,8 @@
+namespace Application.Domain.Entity;
+
+public class UserEquSuit
+{
+ public string suitCode { get; set; }
+ public string suitName { get; set; }
+ public List SuitAttr { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/model/UserStateModel.cs b/Service/Application.Domain.Entity/model/UserStateModel.cs
new file mode 100644
index 0000000..ddd57e2
--- /dev/null
+++ b/Service/Application.Domain.Entity/model/UserStateModel.cs
@@ -0,0 +1,10 @@
+namespace Application.Domain.Entity;
+
+public class UserStateModel
+{
+ public string name { get; set; }
+ public int time { get; set; }
+ public string scene { get; set; }
+ public string tips { get; set; }
+ public List attr { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/resource/game/game_dic.cs b/Service/Application.Domain.Entity/resource/game/game_dic.cs
new file mode 100644
index 0000000..d4013fb
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_dic.cs
@@ -0,0 +1,27 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_dic
+ {
+ ///
+ /// code
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? code { get; set; }
+
+ ///
+ /// sign
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? sign { get; set; }
+
+ ///
+ /// remark
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? remark { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/resource/game/game_ship.cs b/Service/Application.Domain.Entity/resource/game/game_equ_attr.cs
similarity index 54%
rename from Service/Application.Domain.Entity/resource/game/game_ship.cs
rename to Service/Application.Domain.Entity/resource/game/game_equ_attr.cs
index c4554cf..145b8f2 100644
--- a/Service/Application.Domain.Entity/resource/game/game_ship.cs
+++ b/Service/Application.Domain.Entity/resource/game/game_equ_attr.cs
@@ -4,72 +4,78 @@ using System;
namespace Application.Domain.Entity
{
[Tenant("Kg.SeaTime.Resource")]
- public class game_ship
+ public class game_equ_attr
{
///
- /// shipId
+ /// erId
///
[SugarColumn(IsPrimaryKey = true, Length = 50)]
- public int shipId { get; set; }
+ public string erId { get; set; }
///
- /// npc
+ /// equCode
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? equCode { get; set; }
+
+ ///
+ /// minLev
///
[SugarColumn(IsNullable = true)]
- public int? npc { get; set; }
+ public int? minLev { get; set; }
///
- /// shipName
+ /// maxLev
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? maxLev { get; set; }
+
+ ///
+ /// 权重
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? random { get; set; }
+
+ ///
+ /// 属性类型:Number 数值 float 百分比
///
[SugarColumn(Length = 50, IsNullable = true)]
- public string shipName { get; set; }
+ public string? nt { get; set; }
///
- /// img
+ /// 属性
///
[SugarColumn(Length = 50, IsNullable = true)]
- public string img { get; set; }
+ public string? code { get; set; }
///
- /// price
+ /// compute
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? compute { get; set; }
+
+ ///
+ /// min_v
///
[SugarColumn(Length = 18, IsNullable = true)]
- public decimal? price { get; set; }
+ public decimal? min_v { get; set; }
///
- /// salePrice
+ /// max_v
///
[SugarColumn(Length = 18, IsNullable = true)]
- public decimal? salePrice { get; set; }
+ public decimal? max_v { get; set; }
///
- /// payType
+ /// tips
///
- [SugarColumn(Length = 50, IsNullable = true)]
- public string payType { get; set; }
-
- ///
- /// weight
- ///
- [SugarColumn(IsNullable = true)]
- public int? weight { get; set; }
-
- ///
- /// speed
- ///
- [SugarColumn(IsNullable = true)]
- public int? speed { get; set; }
-
- ///
- /// neeGold
- ///
- [SugarColumn(IsNullable = true)]
- public int? neeGold { get; set; }
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? tips { get; set; }
///
/// remark
///
- [SugarColumn(Length = 50, IsNullable = true)]
- public string remark { get; set; }
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? remark { get; set; }
}
}
diff --git a/Service/Application.Domain.Entity/resource/game/game_equ_awaken.cs b/Service/Application.Domain.Entity/resource/game/game_equ_awaken.cs
new file mode 100644
index 0000000..e7b62ff
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_equ_awaken.cs
@@ -0,0 +1,39 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_equ_awaken
+ {
+ ///
+ /// 特性表
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string atId { get; set; }
+
+ ///
+ /// 特性名称
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? name { get; set; }
+
+ ///
+ /// levAttr
+ ///
+ [SugarColumn(IsNullable = true,IsJson = true)]
+ public List levAttr { get; set; }
+
+ ///
+ /// 权重
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? random { get; set; }
+
+ ///
+ /// 可觉醒装备
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? position { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/resource/game/game_equ_make.cs b/Service/Application.Domain.Entity/resource/game/game_equ_make.cs
new file mode 100644
index 0000000..035b685
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_equ_make.cs
@@ -0,0 +1,45 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_equ_make
+ {
+ ///
+ /// mkId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string mkId { get; set; }
+
+ ///
+ /// goodsId
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? goodsId { get; set; }
+
+ ///
+ /// equId
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? equId { get; set; }
+
+ ///
+ /// equName
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? equName { get; set; }
+
+ ///
+ /// random
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? random { get; set; }
+
+ ///
+ /// 是否随机特性
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? rdAttr { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/resource/game/game_equ_up.cs b/Service/Application.Domain.Entity/resource/game/game_equ_up.cs
new file mode 100644
index 0000000..c84fcdc
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_equ_up.cs
@@ -0,0 +1,39 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_equ_up
+ {
+ ///
+ /// euId
+ ///
+ [SugarColumn(IsPrimaryKey = true)]
+ public int euId { get; set; }
+
+ ///
+ /// onLev
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? onLev { get; set; }
+
+ ///
+ /// maxLev
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? maxLev { get; set; }
+
+ ///
+ /// okChance
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? okChance { get; set; }
+
+ ///
+ /// needData
+ ///
+ [SugarColumn(IsNullable = true,IsJson = true)]
+ public List needData { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/resource/game/game_monster.cs b/Service/Application.Domain.Entity/resource/game/game_monster.cs
new file mode 100644
index 0000000..abc3a76
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_monster.cs
@@ -0,0 +1,117 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_monster
+ {
+ ///
+ /// monsterId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string monsterId { get; set; }
+
+ ///
+ /// name
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? name { get; set; }
+
+ ///
+ /// 怪物应用区域
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? code { get; set; }
+
+ ///
+ /// lev
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? lev { get; set; }
+
+ ///
+ /// exp
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? exp { get; set; }
+
+ ///
+ /// copper
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? copper { get; set; }
+
+ ///
+ /// petExp
+ ///
+ [SugarColumn(IsNullable = true)]
+ public long? petExp { get; set; }
+
+ ///
+ /// minAtk
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? minAtk { get; set; }
+
+ ///
+ /// maxAtk
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? maxAtk { get; set; }
+
+ ///
+ /// defense
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? defense { get; set; }
+
+ ///
+ /// agility
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? agility { get; set; }
+
+ ///
+ /// blood
+ ///
+ [SugarColumn(Length = 62, IsNullable = true)]
+ public decimal? blood { get; set; }
+
+ ///
+ /// 怪物属性
+ ///
+ [SugarColumn(IsNullable = true,IsJson = true)]
+ public List attr { get; set; }
+
+ ///
+ /// 怪物技能
+ ///
+ [SugarColumn(IsNullable = true)]
+ public string? skill { get; set; }
+
+ ///
+ /// award
+ ///
+ [SugarColumn(Length = 3000, IsNullable = true)]
+ public string? award { get; set; }
+
+ ///
+ /// 支持复制战斗0不支持 1支持
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? isCopy { get; set; }
+
+ ///
+ /// 怪物说明
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? remark { get; set; }
+
+ ///
+ /// 用于后台操作标记,无其他作用
+ ///
+ [SugarColumn(Length = 255, IsNullable = true)]
+ public string? markTips { get; set; }
+ }
+}
diff --git a/Service/Application.Domain.Entity/resource/game/game_monster_map.cs b/Service/Application.Domain.Entity/resource/game/game_monster_map.cs
new file mode 100644
index 0000000..1d40beb
--- /dev/null
+++ b/Service/Application.Domain.Entity/resource/game/game_monster_map.cs
@@ -0,0 +1,57 @@
+using SqlSugar;
+using System;
+
+namespace Application.Domain.Entity
+{
+ [Tenant("Kg.SeaTime.Resource")]
+ public class game_monster_map
+ {
+ ///
+ /// mmId
+ ///
+ [SugarColumn(IsPrimaryKey = true, Length = 50)]
+ public string mmId { get; set; }
+
+ ///
+ /// mapId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? mapId { get; set; }
+
+ ///
+ /// monsterId
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? monsterId { get; set; }
+
+ ///
+ /// monsterName
+ ///
+ [SugarColumn(Length = 50, IsNullable = true)]
+ public string? monsterName { get; set; }
+
+ ///
+ /// addCount
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? addCount { get; set; }
+
+ ///
+ /// chance
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? chance { get; set; }
+
+ ///
+ /// sTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? sTime { get; set; }
+
+ ///
+ /// eTime
+ ///
+ [SugarColumn(IsNullable = true)]
+ public int? eTime { get; set; }
+ }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain.Entity/view/MakePaperView.cs b/Service/Application.Domain.Entity/view/MakePaperView.cs
new file mode 100644
index 0000000..c6ec2f7
--- /dev/null
+++ b/Service/Application.Domain.Entity/view/MakePaperView.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain.Entity;
+
+public class MakePaperView
+{
+ public game_goods goods { get; set; }
+ public long count { get; set; }
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Cache/FightCache.cs b/Service/Application.Domain/Cache/FightCache.cs
new file mode 100644
index 0000000..d58859e
--- /dev/null
+++ b/Service/Application.Domain/Cache/FightCache.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain;
+
+public class FightCache
+{
+ public static string FightCacheKey = "GameFightCache:{0}";
+ public static string FightCacheKeys = "GameFightCache:{0}:{1}";
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Config/GameConfig.cs b/Service/Application.Domain/Config/GameConfig.cs
index 9b0ba43..0c643ed 100644
--- a/Service/Application.Domain/Config/GameConfig.cs
+++ b/Service/Application.Domain/Config/GameConfig.cs
@@ -17,4 +17,5 @@ public static class GameConfig
public const int GameAutoDrugGoodsId = 10001;//急救箱物品ID
public const int GameToMapNeedCopper = 5;//传送每海里费用
public const int TeamCacheTime = 300;//队伍缓存时间
+ public const int GameEquApprGoods = 10001;//鉴定装备道具
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/EquEnum.cs b/Service/Application.Domain/Enum/EquEnum.cs
index 0469997..8c21736 100644
--- a/Service/Application.Domain/Enum/EquEnum.cs
+++ b/Service/Application.Domain/Enum/EquEnum.cs
@@ -21,5 +21,11 @@ public static class EquEnum
Ornaments = 3, //佩戴
Fashion = 1, //时装
Wing = 1, //羽翼
+ Decorate = 5, //装饰
+ }
+
+ public enum SuitAttrNeedType
+ {
+ ON_EQU
}
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/FightEnum.cs b/Service/Application.Domain/Enum/FightEnum.cs
new file mode 100644
index 0000000..7014497
--- /dev/null
+++ b/Service/Application.Domain/Enum/FightEnum.cs
@@ -0,0 +1,7 @@
+namespace Application.Domain;
+
+public static class FightEnum
+{
+
+
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/GameEnum.cs b/Service/Application.Domain/Enum/GameEnum.cs
index 56434e5..ac93b6e 100644
--- a/Service/Application.Domain/Enum/GameEnum.cs
+++ b/Service/Application.Domain/Enum/GameEnum.cs
@@ -55,6 +55,89 @@ public static class GameEnum
RetBlood,
RetMorale,
RetVigour,
+ RetEqu,
MapTo,
+ Store,
+ Make,
+ }
+
+ public enum DicCode
+ {
+ Awaken,//觉醒配置
+ Quality,//洗练配置
+ }
+ public enum ComputeType
+ {
+ Plus,//加法计算
+ Ride,//乘法计算
+ Reduce,//减法计算
+ Except,//除法计算
+ }
+ public enum AttrCode
+ {
+ AddExp,//经验
+ AddGold,//金币
+ MinAtk,
+ MaxAtk,
+ Atk,//攻击
+ Blood,//体力
+ Defense,//防御
+ Agility,//敏捷
+ Morale,//士气
+ Burst,//爆率
+ InBlood,//吸血
+ Crit,//暴击
+ Dodge,//闪避
+ NoHarm,//免伤
+ Rebound,//反弹
+ Punish,//制裁
+ Slow,//迟缓
+ Poison,//中毒
+ PoisonLess,//抗毒攻
+ Curse,//诅咒
+ Weaken,//弱化
+ Deadly,//致命
+ DeadlyLess,//抗致命
+ Depressed,//消沉 沮丧
+ Breach,//突破
+ Del_Fashion,//卸时装
+ Atk_Next,//连击
+ ReboundLess,//抗反弹
+ Harm_Add,//额外伤害
+ PalsyAtk,//麻痹
+ PalsyAtkLess,//抗麻痹
+ CurseLess,//抗诅咒
+ WeakenLess,//抗弱化
+ DepressedLess,//抗消沉
+ BreachLess,//抗突破
+ Luck,//幸运
+ SlowLess,//抗迟缓
+ Depth,//潜水深度
+ Height,//升空高度
+ Weight//负重
+ }
+
+ public enum GameStockCode
+ {
+ Blood,
+ Durability,
+
+ }
+ public enum GameStockType
+ {
+ Number,//数值
+ Time,//时间
+ }
+
+ public enum FightCode
+ {
+ PVP,//人物对战
+ PVE//NPC对战
+ }
+ public enum AreaCode
+ {
+ Own,//个人怪物
+ Public,//公共怪物
+ Team,//队伍怪物
}
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/GoodsEnum.cs b/Service/Application.Domain/Enum/GoodsEnum.cs
index fe24f1b..5066e51 100644
--- a/Service/Application.Domain/Enum/GoodsEnum.cs
+++ b/Service/Application.Domain/Enum/GoodsEnum.cs
@@ -14,6 +14,19 @@ public static class GoodsEnum
Card,//附魔卡片
Mark,//圣痕
Pack,//宝箱
- Practise,//修炼道具
+ ChoicePack,//选择宝箱
+ Weight,//负重
+ Exp,//经验
+ State,//状态物品
+ Ship,//船只
+ }
+
+ public enum DrugCls
+ {
+ Blood,//普通体力药品
+ BloodStock,//体力储存药品
+ Vigour,//活力
+ Morale,//士气
+ LoadBuff,//消除负面状态
}
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/MessageEnum.cs b/Service/Application.Domain/Enum/MessageEnum.cs
index c3a18ac..2fd9480 100644
--- a/Service/Application.Domain/Enum/MessageEnum.cs
+++ b/Service/Application.Domain/Enum/MessageEnum.cs
@@ -8,4 +8,12 @@ public static class MessageEnum
Marry,//婚姻消息
Trade,//交易通知
}
+ public enum BroadcastCode
+ {
+ Gift,
+ System,
+ Award,
+ Remind,
+ Promote
+ }
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Enum/MonsterEnum.cs b/Service/Application.Domain/Enum/MonsterEnum.cs
new file mode 100644
index 0000000..cd501cf
--- /dev/null
+++ b/Service/Application.Domain/Enum/MonsterEnum.cs
@@ -0,0 +1,11 @@
+namespace Application.Domain;
+
+public static class MonsterEnum
+{
+ public enum AwardCode
+ {
+ Default,
+
+ }
+
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Equ/IGameEquService.cs b/Service/Application.Domain/Services/Interface/Equ/IGameEquService.cs
index 3b7d4c4..0a7913c 100644
--- a/Service/Application.Domain/Services/Interface/Equ/IGameEquService.cs
+++ b/Service/Application.Domain/Services/Interface/Equ/IGameEquService.cs
@@ -6,20 +6,25 @@ public interface IGameEquService
Task GetEquInfo(int equId);
Task GetEuqSuitInfo(string suitCode);
+
#endregion
+
#region 用户装备
Task> GetUserEquData(string userId, int type, string equName, int PageIndex, int PageSize,
- RefAsync Total, bool isRemOn = false);
+ RefAsync Total, bool isRemOn = false, bool isRemLock = false);
Task> GetUserEquData(string userId, int equId);
+ Task> GetUserEquData(string userId, string code, List noUeId);
Task GetUserEquInfo(string ueId);
Task GetUserEquByEquIdCount(string userId, int equId);
Task> GetUserEquByEquId(string userId, int equId);
Task AddUserEqu(string userId, int equId, int count, string remark);
-
+ Task AddUserEqu(unit_user_equ equData, string remark);
+ Task AddUserEqu(string userId, int equId, bool rdAttr = false, string remark = "");
Task UpdateUserEquInfo(unit_user_equ equData, bool isAddLog = false, string code = "",
string remark = "");
+
Task DeductUserEqu(string userId, List equData, string remark);
Task DeductUserEqu(string userId, int equId, int count, string remark);
@@ -27,13 +32,36 @@ public interface IGameEquService
bool isAddAttr = false);
Task> GetUserOnEqu(string userId);
+ Task GetUserEquAttrModel(string userId);
Task EquOnOrDown(unit_user_equ data, int state);
+ Task> GetUserEquSuit(string userId);
+ Task> GetUserEquSuitAttrInfo(string userId);
#endregion
- #region 辅助
+ #region 觉醒相关
+
+ Task GetEquAwakenInfo(string atId);
+ Task GetRandomOneAwakenByCode(string code);
+ Task GetEquAwakenInfoByLev(string atId, int lev);
+
+ #endregion
+
+ #region 洗练属性/词条
+
+ Task> GetRandomEquAttr(string equCode, int lev);
+
+ #endregion
+
+ #region 强化相关
+
+ Task GetUserEquUpData(int lev);
+
+ #endregion
+
+ #region 辅助
Task GetUserEquWeightSum(string userId);
-
+ Task GetMakeEquByGoodsId(int goodsId);
#endregion
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Fight/IGameFightService.cs b/Service/Application.Domain/Services/Interface/Fight/IGameFightService.cs
new file mode 100644
index 0000000..725f65f
--- /dev/null
+++ b/Service/Application.Domain/Services/Interface/Fight/IGameFightService.cs
@@ -0,0 +1,26 @@
+namespace Application.Domain;
+
+public interface IGameFightService
+{
+ #region 用户战斗索引
+
+ Task> GetUserFight(string userId);
+ Task RemoveUserFight(string userId, string fightId);
+ #endregion
+ #region 战斗信息
+ Task GetFightInfo(string fightId);
+ Task GetFightBlood(string keyId, long maxBlood);
+ Task SetFightBlood(string keyId, long blood);
+ Task AddFightHarm(string fightId, string userId, long harm);
+ Task AddFight(string fightId, string areaCode, string keyId, string mainId, string code,
+ string scene, string mapId,
+ string userId, long exp = 0, long copper = 0, long petExp = 0, string award = "", string pars = "");
+
+ Task SetFightWin(string fightId, string winUser);
+
+
+ #endregion
+ #region 战斗相关
+
+ #endregion
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Goods/IGameGoodsService.cs b/Service/Application.Domain/Services/Interface/Goods/IGameGoodsService.cs
index a537a8e..05814d6 100644
--- a/Service/Application.Domain/Services/Interface/Goods/IGameGoodsService.cs
+++ b/Service/Application.Domain/Services/Interface/Goods/IGameGoodsService.cs
@@ -29,7 +29,11 @@ public interface IGameGoodsService
#endregion
- #region 船只
- Task GetShipInfo(int shipId);
+ #region 药品
+
+ Task CheckUseDrug(string userId, int goodsId, string drugConfig, string scene = "");
+ Task UseDrug(string userId, int goodsId, string drugConfig, string scene = "");
+
+
#endregion
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Map/IGameMapService.cs b/Service/Application.Domain/Services/Interface/Map/IGameMapService.cs
index d4ec39b..34fc0c7 100644
--- a/Service/Application.Domain/Services/Interface/Map/IGameMapService.cs
+++ b/Service/Application.Domain/Services/Interface/Map/IGameMapService.cs
@@ -18,6 +18,7 @@ public interface IGameMapService
#region 用户地图
Task GetUserOnMapId(string userId);
+ Task GetUserOnToMapInfo(string userId);
Task GetUserOnMap(string userId);
Task UpdateUserOnMap(string userId, string ip, string mapId);
Task UpdateUserOnMap(unit_user_online data, string mapId);
diff --git a/Service/Application.Domain/Services/Interface/Monster/IGameMonsterService.cs b/Service/Application.Domain/Services/Interface/Monster/IGameMonsterService.cs
new file mode 100644
index 0000000..1ba4ca9
--- /dev/null
+++ b/Service/Application.Domain/Services/Interface/Monster/IGameMonsterService.cs
@@ -0,0 +1,20 @@
+namespace Application.Domain;
+
+public interface IGameMonsterService
+{
+ #region 基础资源库
+
+ Task GetMonsterInfo(string monsterId);
+ #endregion
+ #region 地图怪物
+
+ Task> GetMonsterDataByMap(string mapId);
+ Task GetMapMonsterInfo(string mmId);
+ Task CreateMonsterToMap(string userId, string mapId, string areaCode, string monsterId,
+ int count = 1, int time = 0, string par = "");
+
+ Task GetCreateMonsterInfo(string umId);
+ Task> GetMapMonster(string userId, string mapId, string teamId);
+
+ #endregion
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Pub/IGameDicService.cs b/Service/Application.Domain/Services/Interface/Pub/IGameDicService.cs
new file mode 100644
index 0000000..f7f34d3
--- /dev/null
+++ b/Service/Application.Domain/Services/Interface/Pub/IGameDicService.cs
@@ -0,0 +1,6 @@
+namespace Application.Domain;
+
+public interface IGameDicService
+{
+ Task GetDicInfo(string code);
+}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/Pub/IMessageService.cs b/Service/Application.Domain/Services/Interface/Pub/IMessageService.cs
index bf1ca05..07044cc 100644
--- a/Service/Application.Domain/Services/Interface/Pub/IMessageService.cs
+++ b/Service/Application.Domain/Services/Interface/Pub/IMessageService.cs
@@ -43,4 +43,11 @@ public interface IMessageService
List btns = null, int days = 10);
#endregion
+
+ #region 广播消息
+
+ Task> GetBroadcastData(int area);
+ Task SendBroadcast(string userId, string code, string msg);
+
+ #endregion
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs b/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs
index 09aebd7..c9d10ba 100644
--- a/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs
+++ b/Service/Application.Domain/Services/Interface/User/IUnitUserAttrService.cs
@@ -4,9 +4,10 @@ public interface IUnitUserAttrService
{
#region 个人属性
- Task GetUserAttrModel(string userId);
+ Task GetUserAttrModel(string userId, string scene = "Default");
Task GetUserAttr(string userId);
Task GetUserLev(string userId);
+
#endregion
#region 体力操作
@@ -29,6 +30,7 @@ public interface IUnitUserAttrService
Task UpdateUserMorale(string userId, int op, int count);
Task CheackRecoverMorale(string userId);
Task LockRecoverMorale(string userId);
+
#endregion
#region 活力
@@ -43,6 +45,42 @@ public interface IUnitUserAttrService
Task UpdateOnLineTime(string userId, string code, int time);
+ #endregion
+
+ #region 药品栏
+
+ Task GetUserDrug(string userId);
+ Task UpdateUserDrug(unit_user_drug data);
+
+ #endregion
+
+ #region BUFF状态
+
+ Task> GetUserStateData(string userId, string scene = "Default");
+
+ Task AddUserState(string userId, string groupId, string name, string scene, string tips,
+ List attr, int time, int count = 1);
+
+ #endregion
+
+ #region 游戏资源储备
+
+ Task> GetUserStock(string userId, string code = "Default");
+
+ Task AddUserStock(string userId, string goodsId,string name, string type, string code, long sign,
+ string par = "",
+ int minute = 0);
+
+ Task UpdateUserStock(unit_user_stock data);
+
+ #endregion
+
+ #region 负面状态
+
+ Task> GetUserLoadState(string userId);
+ Task AddUserLoadState(string userId, string name, string code);
+ Task RandomRemoveUserLoadState(string userId, int count);
+ Task RemoveUserLoadState(string userId);
#endregion
}
\ No newline at end of file
diff --git a/Service/Application.Domain/Services/Interface/User/IUnitUserWeight.cs b/Service/Application.Domain/Services/Interface/User/IUnitUserWeight.cs
index b33d4bd..673911f 100644
--- a/Service/Application.Domain/Services/Interface/User/IUnitUserWeight.cs
+++ b/Service/Application.Domain/Services/Interface/User/IUnitUserWeight.cs
@@ -19,7 +19,7 @@ public interface IUnitUserWeight
Task UpdateUserShipOnWeight(string userId, int op, int weight);
Task CheakUserShipWeight(string userId, int useWeight);
Task DeleteUserShip(string usId, string userId);
- Task AddUserShip(string userId, string name, int goodsId, int speed, int weight);
+ Task AddUserShip(string userId, string name, int goodsId, int speed, int weight,int copper,long sale,string remark);
#endregion
diff --git a/Service/Application.Domain/Services/Service/Equ/GameEquService.cs b/Service/Application.Domain/Services/Service/Equ/GameEquService.cs
index c0d54d8..7af2341 100644
--- a/Service/Application.Domain/Services/Service/Equ/GameEquService.cs
+++ b/Service/Application.Domain/Services/Service/Equ/GameEquService.cs
@@ -39,7 +39,7 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
#region 用户装备
public async Task> GetUserEquData(string userId, int type, string equName, int PageIndex,
- int PageSize, RefAsync Total, bool isRemOn = false)
+ int PageSize, RefAsync Total, bool isRemOn = false, bool isRemLock = false)
{
long onTime = TimeExtend.GetTimeStampSeconds;
var db = DbClient.AsTenant().GetConnectionWithAttr();
@@ -48,6 +48,7 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
.WhereIF(type == 1, it => it.isOn == 1)
.WhereIF(type == 3, it => it.isAppr == 0)
.WhereIF(isRemOn, it => it.isOn == 0)
+ .WhereIF(isRemLock, it => it.isLock == 0)
.WhereIF(!string.IsNullOrEmpty(equName),
it => it.equName.Contains(equName) || it.unitEquName.Contains(equName))
.OrderByDescending(it => it.lev)
@@ -56,11 +57,18 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
public async Task> GetUserEquData(string userId, int equId)
{
- long onTime = TimeExtend.GetTimeStampSeconds;
var db = DbClient.AsTenant().GetConnectionWithAttr();
return await db.Queryable().Where(it => it.userId == userId && it.equId == equId).ToListAsync();
}
+ public async Task> GetUserEquData(string userId, string code, List noUeId)
+ {
+ var db = DbClient.AsTenant().GetConnectionWithAttr();
+ return await db.Queryable().Where(it => it.userId == userId && it.code == code)
+ .WhereIF(noUeId.Count > 0, it => !noUeId.Contains(it.ueId))
+ .ToListAsync();
+ }
+
public async Task GetUserEquInfo(string ueId)
{
var db = DbClient.AsTenant().GetConnectionWithAttr();
@@ -173,6 +181,115 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
return result;
}
+ public async Task AddUserEqu(unit_user_equ equData, string remark)
+ {
+ var db = DbClient.AsTenant().GetConnectionWithAttr();
+ var result = await db.Insertable(equData).ExecuteCommandAsync() > 0;
+ if (result)
+ {
+ //添加日志
+ await AddEquLogs([equData], 1, remark, true);
+ //更新负重
+ int weightCount = Convert.ToInt32(equData.weight);
+ if (weightCount > 0)
+ {
+ var attrService = App.GetService();
+ await attrService.UpdateUserWeight(equData.userId, 1, weightCount);
+ }
+ }
+
+ return result;
+ }
+
+ public async Task AddUserEqu(string userId, int equId, bool rdAttr = false, string remark = "")
+ {
+ var equ = await GetEquInfo(equId);
+ if (equ == null)
+ {
+ return null;
+ }
+
+ unit_user_equ ue = new unit_user_equ();
+ string ueId = StringAssist.NewGuid;
+ ue.ueId = ueId;
+ ue.userId = userId;
+ ue.owerId = userId;
+ ue.equId = equ.equId;
+ ue.equName = equ.equName;
+ ue.unitEquName = equ.equName;
+ ue.img = equ.img;
+ ue.sign = "";
+ ue.isAppr = 1;
+ if (equ.isAppr == 0)
+ {
+ ue.minAtk = equ.minAtk;
+ ue.maxAtk = equ.maxAtk;
+ ue.Defense = Convert.ToInt32(equ.defense);
+ ue.Agility = Convert.ToInt32(equ.agility);
+ ue.Morale = Convert.ToInt32(equ.morale);
+ ue.Blood = Convert.ToInt32(equ.blood);
+ }
+ else
+ {
+ ue.minAtk = RandomAssist.GetFormatedNumeric((int)equ.minAtk, (int)equ.maxAtk);
+ ue.maxAtk = RandomAssist.GetFormatedNumeric((int)equ.minAtk, (int)equ.maxAtk);
+ string[] def = equ.defense.Split('-');
+ ue.Defense = RandomAssist.GetFormatedNumeric(Convert.ToInt32(def[0]), Convert.ToInt32(def[1]));
+ string[] agi = equ.agility.Split('-');
+ ue.Agility = RandomAssist.GetFormatedNumeric(Convert.ToInt32(agi[0]), Convert.ToInt32(agi[1]));
+ string[] mor = equ.morale.Split('-');
+ ue.Morale = RandomAssist.GetFormatedNumeric(Convert.ToInt32(mor[0]), Convert.ToInt32(mor[1]));
+ string[] blo = equ.blood.Split('-');
+ ue.Blood = RandomAssist.GetFormatedNumeric(Convert.ToInt32(blo[0]), Convert.ToInt32(blo[1]));
+ }
+
+ ue.code = equ.code;
+ ue.suitCode = equ.suitCode;
+ ue.lev = equ.lev;
+ ue.durability = equ.durability;
+ ue.maxdurability = equ.durability;
+ ue.isIntensify = equ.isIntensify;
+ ue.intensifyLev = 0;
+ ue.isLock = 0;
+ ue.holeCount = equ.holeCount;
+ ue.sex = equ.sex;
+ ue.weight = equ.weight;
+ ue.sysPrice = equ.sysPrice;
+ ue.qualityAttr = new List();
+ if (rdAttr == false)
+ {
+ ue.quality = equ.quality;
+ ue.qualityName = GameTool.GetEquQualityName((int)ue.quality);
+ ue.EquAttr = equ.equAttr;
+ }
+ else
+ {
+ var randomAttr = await GetRandomEquAttr(equ.code, (int)equ.lev);
+ ue.quality = randomAttr.Count;
+ ue.qualityName = GameTool.GetEquQualityName((int)ue.quality);
+ ue.EquAttr = randomAttr;
+ }
+
+ ue.canEqualUp = equ.canEqualUp;
+ ue.isDeal = equ.isDeal;
+ ue.isGive = equ.isGive;
+ ue.opTime = 0;
+ ue.start = 0;
+ ue.EquMent = new EquMent();
+ ue.EquAwaken = new List();
+ ue.GemMent = new List();
+ ue.useEndTime = TimeExtend.GetTimeStampBySeconds(DateTime.Now.AddYears(20));
+ ue.isOn = 0;
+ if (await AddUserEqu(ue, remark))
+ {
+ return ue;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
public async Task UpdateUserEquInfo(unit_user_equ equData, bool isAddLog = false, string code = "",
string remark = "")
{
@@ -184,6 +301,11 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
{
await AddEquLog(equData, code, remark);
}
+
+ if (equData.isOn == 1)
+ {
+ await ClearUserOnEqu(equData.userId);
+ }
}
return result;
@@ -325,6 +447,52 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
}
}
+ public async Task GetUserEquAttrModel(string userId)
+ {
+ var key = string.Format(UserCache.BaseCacheKeys, "EquData", "UserOnEquAttr");
+ if (await redis.HExistsHashAsync(key, userId))
+ {
+ return await redis.GetHashAsync(key, userId);
+ }
+
+ long endTime = TimeExtend.GetTimeStampSeconds;
+ UserAttrModel result = new UserAttrModel();
+ var myEqu = await GetUserOnEqu(userId);
+ foreach (var equ in myEqu)
+ {
+ if (equ.durability > 0 || equ.useEndTime > endTime)
+ {
+ UserAttrModel equTemp = new UserAttrModel();
+ var equAttr = EquTool.GetUserEquByIntensify(equ);
+ equTemp.minAtk = (int)equAttr.minAtk;
+ equTemp.maxAtk = (int)equAttr.maxAtk;
+ equTemp.defense = (int)equAttr.Defense;
+ equTemp.agility = (int)equAttr.Agility;
+ equTemp.upBlood = (int)equAttr.Blood;
+ equTemp.upMorale = (int)equAttr.Morale;
+ List equAttrData = EquTool.GetUserEquAttrData(equ);
+ equTemp = GameAttrTool.GetRoleAttrTempMerge(equTemp, equAttrData);
+ result = GameAttrTool.GetRoleAttrTempMerge(result, equTemp);
+ }
+ }
+
+ await redis.AddHashAsync(key, userId, result);
+ return result;
+ }
+
+ private async Task ClearUserOnEqu(string userId)
+ {
+ var key = string.Format(UserCache.BaseCacheKeys, "EquData", "UserOnEqu");
+ await redis.DelHashAsync(key, userId);
+ key = string.Format(UserCache.BaseCacheKeys, "EquData", "UserOnEquAttr");
+ await redis.DelHashAsync(key, userId);
+ //清理套装缓存
+ key = string.Format(UserCache.BaseCacheKeys, "EquData:UserEquSuit", userId);
+ await redis.DelAsync(key);
+ key = string.Format(UserCache.BaseCacheKeys, "EquData:UserEquSuitAttr", userId);
+ await redis.DelAsync(key);
+ }
+
public async Task EquOnOrDown(unit_user_equ data, int state)
{
data.isOn = state;
@@ -334,21 +502,292 @@ public class GameEquService(ISqlSugarClient DbClient, IRedisCache redis) : IGame
var equInfo = await GetEquInfo((int)data.equId);
if (equInfo.useTime > 0)
{
- data.useEndTime = TimeExtend.GetTimeStampBySeconds(DateTime.Now.AddDays((int)equInfo.useTime)) ;
+ data.useEndTime = TimeExtend.GetTimeStampBySeconds(DateTime.Now.AddDays((int)equInfo.useTime));
}
}
+
var db = DbClient.AsTenant().GetConnectionWithAttr();
bool result = await db.Updateable(data).ExecuteCommandAsync() > 0;
if (result)
{
+ await ClearUserOnEqu(data.userId);
}
return result;
}
+ ///
+ /// 获取个人套装
+ ///
+ ///
+ ///
+ public async Task> GetUserEquSuit(string userId)
+ {
+ List result = new List();
+ long time = TimeExtend.GetTimeStampSeconds;
+ var key = string.Format(UserCache.BaseCacheKeys, "EquData:UserEquSuit", userId);
+ if (await redis.ExistsAsync(key))
+ {
+ result = await redis.GetAsync>(key);
+ }
+ else
+ {
+ List opSuit = new List();
+ var onEquData = await GetUserOnEqu(userId);
+ string[] onEqu = onEquData.Select(it => it.equId.ToString()).ToArray();
+ onEquData = onEquData.FindAll(it => it.useEndTime > time && it.durability > 0);
+ foreach (var item in onEquData)
+ {
+ if (item.suitCode != "0" && !string.IsNullOrEmpty(item.suitCode))
+ {
+ if (!opSuit.Contains(item.suitCode))
+ {
+ opSuit.Add(item.suitCode);
+ }
+ }
+ }
+ foreach (var suit in opSuit)
+ {
+ UserEquSuit temp = new UserEquSuit();
+ var suitInfo = await GetEuqSuitInfo(suit);
+ if (suitInfo != null)
+ {
+ temp.suitCode = suitInfo.suitCode;
+ temp.suitName = suitInfo.suitName;
+ temp.SuitAttr = new List();
+ foreach (var item in suitInfo.attr)
+ {
+ if (item.NeedType == nameof(EquEnum.SuitAttrNeedType.ON_EQU))
+ {
+ bool same = item.NeedData.All(item => onEqu.Contains(item));
+ if (same)
+ {
+ temp.SuitAttr.Add(item);
+ }
+ }
+ }
+ if (temp.SuitAttr.Count > 0) //存在满足条件得属性
+ {
+ result.Add(temp);
+ }
+ }
+ }
+ await redis.SetAsync(key, result, 300);
+ }
+
+ return result;
+ }
+
+ public async Task> GetUserEquSuitAttrInfo(string userId)
+ {
+ List result = new List();
+ var key = string.Format(UserCache.BaseCacheKeys, "EquData:UserEquSuitAttr", userId);
+ if (await redis.ExistsAsync(key))
+ {
+ result = await redis.GetAsync>(key);
+ }
+ else
+ {
+ var suitData = await GetUserEquSuit(userId);
+ foreach (var item in suitData)
+ {
+ foreach (var attr in item.SuitAttr)
+ {
+ result.AddRange(attr.AttrItem);
+ }
+ }
+ await redis.SetAsync(key, result, 300);
+ }
+
+ return result;
+ }
+
+ #endregion
+
+ #region 觉醒
+
+ public async Task GetEquAwakenInfo(string atId)
+ {
+ string key = string.Format(BaseCache.BaseCacheKeys, "EquData", "AwakenData");
+ var data = await redis.GetHashAsync(key, atId);
+ if (data == null)
+ {
+ var db = DbClient.AsTenant().GetConnectionWithAttr();
+ data = await db.Queryable().Where(i => i.atId == atId).SingleAsync();
+ if (data != null)
+ {
+ await redis.AddHashAsync(key, atId, data);
+ }
+ }
+
+ return data;
+ }
+
+ public async Task GetRandomOneAwakenByCode(string code)
+ {
+ game_equ_awaken attr = new game_equ_awaken();
+ var db = DbClient.AsTenant().GetConnectionWithAttr();
+ var list = await db.Queryable().Where(i => i.position.Contains(code)).ToListAsync();
+ if (list.Count == 0)
+ {
+ return null;
+ }
+
+ List