存档位置迁移
This commit is contained in:
parent
9727c20ba2
commit
7769457f1b
@ -1,7 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7b2c3d00db6a28f43b0df7e43d483e39
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1352,7 +1352,7 @@ namespace RuntimeData
|
||||
if (config == null) return;
|
||||
|
||||
// 改为二进制文件扩展名
|
||||
string path = Application.persistentDataPath + "/match_config.dat";
|
||||
string path = Application.persistentDataPath + "/../Config/match_config.dat";
|
||||
int retryCount = 3;
|
||||
|
||||
while (retryCount > 0)
|
||||
@ -1376,7 +1376,7 @@ namespace RuntimeData
|
||||
|
||||
public static MapConfig GetMatchConfig()
|
||||
{
|
||||
string path = Application.persistentDataPath + "/match_config.dat";
|
||||
string path = Application.persistentDataPath + "/../Config/match_config.dat";
|
||||
if (!File.Exists(path)) return null;
|
||||
|
||||
int retryCount = 3;
|
||||
@ -1419,7 +1419,7 @@ namespace RuntimeData
|
||||
if (map == null) return;
|
||||
|
||||
// 改为二进制文件扩展名
|
||||
string path = Application.persistentDataPath + "/map_archive";
|
||||
string path = Application.persistentDataPath + "/../Config/map_archive";
|
||||
if (isBegin) path += "_begin";
|
||||
else if (isEnd) path += "_end";
|
||||
else path += "_continue";
|
||||
@ -1448,7 +1448,7 @@ namespace RuntimeData
|
||||
|
||||
public static MapData GetMapData(bool isMulti = false, bool isBegin = false, bool isEnd = false, uint mapId = 0)
|
||||
{
|
||||
string directory = Application.persistentDataPath;
|
||||
string directory = Application.persistentDataPath + "/../Config/";
|
||||
|
||||
// 构建文件名模式
|
||||
string pattern = "map_archive";
|
||||
|
||||
@ -49,7 +49,7 @@ namespace RuntimeData
|
||||
RefreshSkillDict();
|
||||
if (_skillDict.ContainsKey(skillType))
|
||||
{
|
||||
_skillDict[skillType].OnSkillOverride(mapData, originId);
|
||||
_skillDict[skillType].OnSkillOverride(mapData, originId, Id);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -219,7 +219,7 @@ namespace RuntimeData
|
||||
foreach (var skill in Skills) _skillDict[skill.GetSkillType()] = skill;
|
||||
}
|
||||
|
||||
protected void OnSkillsTurnStart(MapData map)
|
||||
protected virtual void OnSkillsTurnStart(MapData map)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy)
|
||||
@ -235,7 +235,7 @@ namespace RuntimeData
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnSkillsAfterTurnStart(MapData map)
|
||||
protected virtual void OnSkillsAfterTurnStart(MapData map)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy)
|
||||
@ -244,7 +244,7 @@ namespace RuntimeData
|
||||
}
|
||||
}
|
||||
|
||||
protected void OnSkillsTurnEnd(MapData map)
|
||||
protected virtual void OnSkillsTurnEnd(MapData map)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.OnTurnEnd(this, map);
|
||||
|
||||
@ -500,17 +500,19 @@ namespace RuntimeData
|
||||
// 全局通知调用
|
||||
public void OnTurnStart(MapData map)
|
||||
{
|
||||
if (IsFrozen()) return;
|
||||
OnSkillsTurnStart(map);
|
||||
}
|
||||
|
||||
public void OnAfterTurnStart(MapData map)
|
||||
{
|
||||
if (IsFrozen()) return;
|
||||
OnSkillsAfterTurnStart(map);
|
||||
}
|
||||
|
||||
public void OnTurnEnd(MapData map)
|
||||
{
|
||||
OnSkillsTurnEnd(map);
|
||||
if (!IsFrozen()) OnSkillsTurnEnd(map);
|
||||
AP = 0;
|
||||
CP = 0;
|
||||
MP = 0;
|
||||
@ -521,7 +523,10 @@ namespace RuntimeData
|
||||
{
|
||||
int v = 1;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
v += skill.GetExtraSight(this,map);
|
||||
}
|
||||
if (map.GetGridDataByUnitId(this.Id, out var grid) && grid.Feature == TerrainFeature.Mountain)
|
||||
v = Mathf.Max(v, 2);
|
||||
return v;
|
||||
@ -532,7 +537,10 @@ namespace RuntimeData
|
||||
{
|
||||
int v = 1;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
v += skill.GetExtraSight(this,map);
|
||||
}
|
||||
if (grid.Feature == TerrainFeature.Mountain)
|
||||
v = Mathf.Max(v, 2);
|
||||
return v;
|
||||
@ -543,6 +551,7 @@ namespace RuntimeData
|
||||
var attackRange = 0;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
attackRange += skill.GetExtraAttackRange(mapData,this);
|
||||
}
|
||||
|
||||
@ -559,6 +568,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (!skill.GetFinalMoveRange(this, out var finalMoveRange)) continue;
|
||||
return finalMoveRange;
|
||||
}
|
||||
@ -575,6 +585,7 @@ namespace RuntimeData
|
||||
var moveRange = info.MoveRange;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
moveRange += skill.GetExtraMoveRange(mapData,this);
|
||||
}
|
||||
|
||||
@ -587,6 +598,7 @@ namespace RuntimeData
|
||||
var isStaticExp = false;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitSelfExp(this, map)) isStaticExp = true;
|
||||
}
|
||||
|
||||
@ -612,7 +624,11 @@ namespace RuntimeData
|
||||
public float GetSpecialSkillBonus(MapData mapData, SkillType skillType)
|
||||
{
|
||||
var value = 1f;
|
||||
foreach (var skill in Skills) value *= skill.GetSpecialSkillBonus(mapData, this, skillType);
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
value *= skill.GetSpecialSkillBonus(mapData, this, skillType);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -651,7 +667,11 @@ namespace RuntimeData
|
||||
public float GetAttackAdditionParam(MapData map, UnitData target = null)
|
||||
{
|
||||
var value = 0f;
|
||||
foreach (var skill in Skills) value += skill.GetAttackAdditionParam(map, this, target);
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
value += skill.GetAttackAdditionParam(map, this, target);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -659,7 +679,11 @@ namespace RuntimeData
|
||||
public float GetAttackMultiplicationParam(MapData map, UnitData target = null)
|
||||
{
|
||||
var value = 1f;
|
||||
foreach (var skill in Skills) value *= skill.GetAttackMultiplicationParam(map, this, target);
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
value *= skill.GetAttackMultiplicationParam(map, this, target);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -684,6 +708,7 @@ namespace RuntimeData
|
||||
var add = 0;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
add += skill.GetExtraMoveRange(mapData,this);
|
||||
}
|
||||
//var mul = GetDefenseMultiplicationParam(map);
|
||||
@ -709,6 +734,7 @@ namespace RuntimeData
|
||||
var add = 0;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
add += skill.GetExtraAttackRange(mapData,this);
|
||||
}
|
||||
//var mul = GetDefenseMultiplicationParam(map);
|
||||
@ -740,7 +766,11 @@ namespace RuntimeData
|
||||
public float GetDefenseAdditionParam(MapData map, UnitData target = null)
|
||||
{
|
||||
var value = 0f;
|
||||
foreach (var skill in Skills) value += skill.GetDefenseAdditionParam(map, this, target);
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
value += skill.GetDefenseAdditionParam(map, this, target);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
@ -750,7 +780,8 @@ namespace RuntimeData
|
||||
var value = 1f;
|
||||
var isZero = 1f;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
var t = skill.GetDefenseMultiplicationParam(map, this, target);
|
||||
value = Mathf.Max(t,value);
|
||||
isZero *= t;
|
||||
@ -784,7 +815,11 @@ namespace RuntimeData
|
||||
public float GetCriticalHitRate(MapData map)
|
||||
{
|
||||
var criticalHitRate = 0f;
|
||||
foreach (var skill in Skills) criticalHitRate += skill.GetCriticalHitRate(this, map);
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
criticalHitRate += skill.GetCriticalHitRate(this, map);
|
||||
}
|
||||
return criticalHitRate;
|
||||
}
|
||||
|
||||
@ -796,7 +831,10 @@ namespace RuntimeData
|
||||
{
|
||||
int ret = 0;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
ret += skill.GetOfficerHealth();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -804,14 +842,20 @@ namespace RuntimeData
|
||||
public bool IsOfficer()
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsOfficer()) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool IsPrepareOfficer()
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsPrepareOfficer()) return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}
|
||||
@ -819,7 +863,10 @@ namespace RuntimeData
|
||||
public bool IsCanBeOfficer()
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
if (skill.IsCanBeOfficer()) return true;
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanBeOfficer()) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -828,6 +875,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanMoveGiantNearbyGrid(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -852,15 +900,18 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanMoveToNoUnitSelfCity(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// 是否可以死亡
|
||||
public bool CanBeKilled(MapData map)
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (!skill.IsCanBeKill(this, map)) return false;
|
||||
}
|
||||
return true;
|
||||
@ -871,6 +922,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanBeDamaged(this, map, dmg)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -881,6 +933,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitSelfExp(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -897,6 +950,7 @@ namespace RuntimeData
|
||||
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanMoveOnTerrain(this, map, terrainType)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -909,6 +963,7 @@ namespace RuntimeData
|
||||
return true;
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanMoveOnFeature(this, map,featureType)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -919,6 +974,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.CanAttackAll(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -929,6 +985,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitSelfAttack(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -939,6 +996,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanAttackTargetGrid(map,this,target)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -949,6 +1007,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanAttackAlly()) return true;
|
||||
}
|
||||
return false;
|
||||
@ -959,6 +1018,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (!skill.IsCanAttackTargetAlly(map,this,target)) return false;
|
||||
}
|
||||
return true;
|
||||
@ -969,6 +1029,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitSelfCounterAttack(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -979,6 +1040,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitTargetCounterAttack(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -988,6 +1050,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsCanTransport()) return true;
|
||||
}
|
||||
return false;
|
||||
@ -997,7 +1060,11 @@ namespace RuntimeData
|
||||
public void OnMove(MapData map, GridData target, MoveType moveType, List<Vector2Int> path = null)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.OnMove(this, target, map,moveType, path);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.OnMove(this, target, map,moveType, path);
|
||||
}
|
||||
//赋予格子特殊效果
|
||||
if(target.HasSpType(GridSpType.RemiliaGrid) && target.Unit(map,out var unit) && unit.Player(map,out var player) && player.PlayerCivId == 0)
|
||||
AddSkill_Legacy(SkillType.ScarletMistRealTimeVampire, map,true,-1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
@ -1010,14 +1077,22 @@ namespace RuntimeData
|
||||
public void BeforeDamagedSupportStage(MapData map, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.BeforeDamagedSupportStage(map, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.BeforeDamagedSupportStage(map, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 伤害结算前
|
||||
public void BeforeDamagedTransformStage(MapData map, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.BeforeDamagedTransformStage(map, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.BeforeDamagedTransformStage(map, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 对他人攻击前
|
||||
@ -1027,6 +1102,7 @@ namespace RuntimeData
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.BeforeActiveAttackOther(mapData, origin, target, out var tmpAddDmg);
|
||||
addDmg += tmpAddDmg;
|
||||
}
|
||||
@ -1036,49 +1112,77 @@ namespace RuntimeData
|
||||
public void AfterActiveAttackOther(MapData mapData, UnitData origin, UnitData target)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.AfterActiveAttackOther(mapData, origin, target);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.AfterActiveAttackOther(mapData, origin, target);
|
||||
}
|
||||
}
|
||||
|
||||
// 受他人攻击后
|
||||
public void AfterActiveAttacked(MapData mapData, UnitData origin, UnitData target)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.AfterActiveAttacked(mapData, origin, target);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.AfterActiveAttacked(mapData, origin, target);
|
||||
}
|
||||
}
|
||||
|
||||
// 对他人伤害结算前
|
||||
public void BeforeDamageOther(MapData map, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.BeforeDamageOther(map, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.BeforeDamageOther(map, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 伤害结算时
|
||||
public void OnDamaged(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.OnDamaged(mapData, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.OnDamaged(mapData, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 对他人伤害结算时
|
||||
public void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.OnDamageOther(mapData, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.OnDamageOther(mapData, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 对他人伤害结算后
|
||||
public void AfterDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.AfterDamageOther(mapData, info);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.AfterDamageOther(mapData, info);
|
||||
}
|
||||
}
|
||||
|
||||
// 对他人治疗结算时
|
||||
public void OnHealOther(MapData mapData, UnitData target,HealType healType)
|
||||
{
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
foreach (var skill in copy) skill.OnHealOther(mapData,this,target, healType);
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.OnHealOther(mapData,this,target, healType);
|
||||
}
|
||||
//HeroTask(mapData)?.OnDamageOther(mapData, info);
|
||||
//for (int i = Skills.Count - 1; i >= 0; i--) Skills[i].OnHealOther(mapData, info);
|
||||
//HeroTask(mapData)?.OnDamageOther(mapData, info);
|
||||
@ -1090,8 +1194,11 @@ namespace RuntimeData
|
||||
|
||||
var copy = new List<SkillBase>(Skills);
|
||||
float ret = 0f;
|
||||
foreach (var skill in copy)
|
||||
foreach (var skill in copy)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
ret = Mathf.Max(ret,skill.GetGridMoveFloor(mapData,originUnit,targetGrid));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1106,8 +1213,11 @@ namespace RuntimeData
|
||||
public int GetKillCount()
|
||||
{
|
||||
int ret = 0;
|
||||
foreach(var skill in Skills)
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
ret += skill.GetKillCount();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1125,6 +1235,7 @@ namespace RuntimeData
|
||||
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsTreatAsHero(map, this,unit)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -1135,6 +1246,7 @@ namespace RuntimeData
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
if (skill.IsLimitMoveToSelfTerrain(this, map)) return true;
|
||||
}
|
||||
return false;
|
||||
@ -1161,7 +1273,10 @@ namespace RuntimeData
|
||||
{
|
||||
SetFullAPCPMP();
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.OnRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
public int AddHealth(int hp)
|
||||
@ -1174,7 +1289,20 @@ namespace RuntimeData
|
||||
public void SetOfficer()
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (IsFrozen()) continue;
|
||||
skill.SetOfficer();
|
||||
}
|
||||
}
|
||||
|
||||
public bool IsFrozen()
|
||||
{
|
||||
foreach (var skill in Skills)
|
||||
{
|
||||
if (skill.IsAllSkillBan()) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -82,6 +82,7 @@ namespace Logic.Achievement
|
||||
public abstract bool CheckCondition(AchievementItem item, MapData map);
|
||||
public abstract void GetProgress(out int current, out int target);
|
||||
public abstract bool CheckChanged(AchievementConditionBase condition);
|
||||
public abstract void CopyChange(AchievementConditionBase condition);
|
||||
|
||||
// 用于记录回退,所以期望一定是返回 false 从而回退成就,所以默认返回true
|
||||
public virtual bool ReCheckCondition()
|
||||
@ -174,6 +175,15 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as TrainGiantCondition;
|
||||
if (cond == null) return;
|
||||
if (TargetGiant != cond.TargetGiant) return;
|
||||
|
||||
TrainCount += cond.TrainCount;
|
||||
}
|
||||
|
||||
public override bool ReCheckCondition()
|
||||
{
|
||||
return TrainCount >= TargetCount;
|
||||
@ -244,6 +254,15 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as BuildWonderConditionCondition;
|
||||
if (cond == null) return;
|
||||
if (Wonder != cond.Wonder) return;
|
||||
|
||||
BuildCount += cond.BuildCount;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as BuildWonderConditionCondition;
|
||||
@ -301,6 +320,13 @@ namespace Logic.Achievement
|
||||
target = 1;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as WonderInCityConditionCondition;
|
||||
if (cond == null) return;
|
||||
if (Wonder != cond.Wonder) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as WonderInCityConditionCondition;
|
||||
@ -385,6 +411,13 @@ namespace Logic.Achievement
|
||||
target = TargetTurns;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as UnitOnWonderConditionCondition;
|
||||
if (cond == null) return;
|
||||
if (Wonder != cond.Wonder) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as UnitOnWonderConditionCondition;
|
||||
@ -467,6 +500,12 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundBuildingsConditionCondition;
|
||||
if (cond == null) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundBuildingsConditionCondition;
|
||||
@ -544,6 +583,12 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundWondersConditionCondition;
|
||||
if (cond == null) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundWondersConditionCondition;
|
||||
@ -622,6 +667,12 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundEnemyUnitsConditionCondition;
|
||||
if (cond == null) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundEnemyUnitsConditionCondition;
|
||||
@ -699,6 +750,12 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundSelfUnitsConditionCondition;
|
||||
if (cond == null) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundSelfUnitsConditionCondition;
|
||||
@ -774,6 +831,12 @@ namespace Logic.Achievement
|
||||
target = TargetCount;
|
||||
}
|
||||
|
||||
public override void CopyChange(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundSelfUnitsConditionCondition;
|
||||
if (cond == null) return;
|
||||
}
|
||||
|
||||
public override bool CheckChanged(AchievementConditionBase condition)
|
||||
{
|
||||
var cond = condition as AroundCityGridsConditionCondition;
|
||||
|
||||
@ -40,11 +40,42 @@ namespace RuntimeData
|
||||
public void LoadAchievement()
|
||||
{
|
||||
var asset = Resources.Load<AchievementAsset>("Export/Achievement");
|
||||
string path = Application.persistentDataPath + "/achievement.json";
|
||||
string path = Application.persistentDataPath + "/../Config/achievement.json";
|
||||
string backupPath = path + ".bak";
|
||||
|
||||
// 尝试读取主文件
|
||||
Achievement = TryReadAchievementData(path);
|
||||
|
||||
// 临时代码,如果找不到新路径下的成就存档,就从旧的存档里进行恢复操作,默认读最近五个档
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
Achievement = asset.Data;
|
||||
Achievement.ClearAchievementFinishedInfo();
|
||||
|
||||
var achievements = new List<AchievementData>();
|
||||
var oldPath = Application.persistentDataPath + "/../TOHOTOPIA Demo v0.6.10/achievement.json";
|
||||
achievements.Add(TryReadAchievementData(oldPath));
|
||||
oldPath = Application.persistentDataPath + "/../TOHOTOPIA Demo v0.6.9/achievement.json";
|
||||
achievements.Add(TryReadAchievementData(oldPath));
|
||||
oldPath = Application.persistentDataPath + "/../TOHOTOPIA Demo v0.6.8/achievement.json";
|
||||
achievements.Add(TryReadAchievementData(oldPath));
|
||||
oldPath = Application.persistentDataPath + "/../TOHOTOPIA Demo v0.6.7/achievement.json";
|
||||
achievements.Add(TryReadAchievementData(oldPath));
|
||||
oldPath = Application.persistentDataPath + "/../TOHOTOPIA Demo v0.6.6/achievement.json";
|
||||
achievements.Add(TryReadAchievementData(oldPath));
|
||||
|
||||
foreach (var item in Achievement.AchievementList)
|
||||
{
|
||||
foreach (var old in achievements)
|
||||
{
|
||||
if (old == null) continue;
|
||||
var target = old.GetAchievementItem(item.BigID, item.SmallID, item.InternalID);
|
||||
item.CopyChange(target);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 尝试读取主文件
|
||||
Achievement = TryReadAchievementData(path);
|
||||
}
|
||||
|
||||
// 主文件损坏,尝试从备份恢复
|
||||
if (Achievement == null && File.Exists(backupPath))
|
||||
@ -143,7 +174,7 @@ namespace RuntimeData
|
||||
if (Achievement == null) return;
|
||||
string json = JsonUtility.ToJson(Achievement);
|
||||
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/achievement.json", bytes);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/../Config/achievement.json", bytes);
|
||||
}
|
||||
|
||||
public void BindMapData(MapData mapData)
|
||||
|
||||
@ -163,6 +163,17 @@ namespace Logic.Achievement
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public void CopyChange(AchievementItem target)
|
||||
{
|
||||
if (target == null) return;
|
||||
if (target.Conditions.Count != Conditions.Count) return;
|
||||
for (int i = 0; i < Conditions.Count; i++)
|
||||
{
|
||||
Conditions[i].CopyChange(target.Conditions[i]);
|
||||
}
|
||||
if (target.IsFinished) IsFinished = true;
|
||||
}
|
||||
|
||||
//-------------- 序列化相关 -------------------//
|
||||
// 辅助序列化字段
|
||||
|
||||
@ -42,7 +42,7 @@ namespace TH1_Logic.Config
|
||||
{
|
||||
if (Config == null)
|
||||
{
|
||||
string path = Application.persistentDataPath + "/game_cfg.json";
|
||||
string path = Application.persistentDataPath + "/../Config/game_cfg.json";
|
||||
string backupPath = path + ".bak";
|
||||
|
||||
// 尝试读取主文件
|
||||
@ -167,7 +167,7 @@ namespace TH1_Logic.Config
|
||||
{
|
||||
string json = JsonUtility.ToJson(Config);
|
||||
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json);
|
||||
string path = Application.persistentDataPath + "/game_cfg.json";
|
||||
string path = Application.persistentDataPath + "/../Config/game_cfg.json";
|
||||
FileTools.SafeWriteFile(path, bytes);
|
||||
|
||||
Config.MarkSaved();
|
||||
|
||||
@ -113,7 +113,7 @@ namespace Logic.Editor
|
||||
}*/
|
||||
if (InspectorUtils.InspectorButtonWithTextWidth("清空成就完成情况"))
|
||||
{
|
||||
string path = Application.persistentDataPath + "/achievement.json";
|
||||
string path = Application.persistentDataPath + "/../Config/achievement.json";
|
||||
if (File.Exists(path))File.Delete(path);
|
||||
}
|
||||
if (_bigID != 0 && _smallID != 0)
|
||||
|
||||
@ -96,7 +96,7 @@ namespace Logic.Editor
|
||||
{
|
||||
_mapPairs.Clear();
|
||||
|
||||
string directory = Application.persistentDataPath;
|
||||
string directory = Application.persistentDataPath + "/../Config/";
|
||||
if (!Directory.Exists(directory))
|
||||
{
|
||||
Debug.LogWarning($"存档目录不存在: {directory}");
|
||||
|
||||
@ -110,14 +110,14 @@ namespace RuntimeData
|
||||
RefreshGameRecord();
|
||||
_gameRecord.Records.Add(record);
|
||||
byte[] bytes = MemoryPackSerializer.Serialize(_gameRecord);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/game_record.dat", bytes);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/../Config/game_record.dat", bytes);
|
||||
}
|
||||
|
||||
public void RefreshGameRecord()
|
||||
{
|
||||
if (_gameRecord != null) return;
|
||||
|
||||
string path = Application.persistentDataPath + "/game_record.dat";
|
||||
string path = Application.persistentDataPath + "/../Config/game_record.dat";
|
||||
string backupPath = path + ".bak";
|
||||
|
||||
// 尝试读取主文件
|
||||
|
||||
@ -70,7 +70,7 @@ namespace Logic
|
||||
{
|
||||
if (_config != null) return;
|
||||
|
||||
string path = Application.persistentDataPath + "/input_config.dat";
|
||||
string path = Application.persistentDataPath + "/../Config/input_config.dat";
|
||||
string backupPath = path + ".bak";
|
||||
|
||||
// 尝试读取主文件
|
||||
@ -109,7 +109,7 @@ namespace Logic
|
||||
{
|
||||
if (_config == null) return;
|
||||
byte[] bytes = MemoryPackSerializer.Serialize(_config);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/input_config.dat", bytes);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/../Config/input_config.dat", bytes);
|
||||
}
|
||||
|
||||
// 每帧调用,返回绑定结果(null表示还在监听中)
|
||||
|
||||
@ -1,22 +1,18 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 恋自由技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Description: 骨堆攻击增强技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class KoishiFreeSkill : SkillBase
|
||||
public partial class BoneAttackUpSkill : SkillBase
|
||||
{
|
||||
public KoishiFreeSkill()
|
||||
public BoneAttackUpSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
@ -25,7 +21,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIFREE;
|
||||
return SkillType.BoneAttackUp;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 26eec140673c4347a8122fa599692cc0
|
||||
timeCreated: 1773043793
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 骨堆攻击技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class BonePileAttackSkill : SkillBase
|
||||
{
|
||||
public BonePileAttackSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.BONEPILEATTACK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6ec1803b84b4c938da710c9b7eb5756
|
||||
timeCreated: 1772778294
|
||||
@ -25,8 +25,10 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.BONEPILE;
|
||||
return SkillType.BonePile;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,22 +1,18 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 尸体火焰技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Description: 骨堆献祭技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class CorpseFireSkill : SkillBase
|
||||
public partial class BoneSacrificeSkill : SkillBase
|
||||
{
|
||||
public CorpseFireSkill()
|
||||
public BoneSacrificeSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
@ -25,7 +21,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEFIRE;
|
||||
return SkillType.BoneSacrifice;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: edad0dcfc6d1493cb95a0dc4bdbecbc7
|
||||
timeCreated: 1773043710
|
||||
@ -25,7 +25,12 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CANHIDE;
|
||||
return SkillType.CanHide;
|
||||
}
|
||||
|
||||
public override void OnMove(UnitData self, GridData grid, MapData mapData, MoveType moveType, List<Vector2Int> path = null)
|
||||
{
|
||||
self.AddOrOverrideSkill(SkillType.CanHide, mapData, self.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -21,11 +21,28 @@ namespace Logic.Skill
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
IsLevelSkill = true;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEBUFF;
|
||||
return SkillType.CorpseBuff;
|
||||
}
|
||||
|
||||
public override int GetExtraMoveRange(MapData mapData, UnitData self)
|
||||
{
|
||||
return _level;
|
||||
}
|
||||
|
||||
public override void OnDamaged(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageTarget == null) return;
|
||||
if (info.DamageType == DamageType.ActiveAttack || info.DamageType == DamageType.CounterAttack ||
|
||||
info.DamageType == DamageType.Splash)
|
||||
{
|
||||
if (_level >= 2) info.DamageValue = 0;
|
||||
ReduceLevel(mapData, info.DamageTarget, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1057017c9de840f798ceda726bcd2f22
|
||||
timeCreated: 1772778289
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 尸体收集技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class CorpseCollectSkill : SkillBase
|
||||
{
|
||||
public CorpseCollectSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSECOLLECT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f0830937e64478e8214d15b0e57338b
|
||||
timeCreated: 1772778279
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 104b286d300d4c839615dc1946bf4864
|
||||
timeCreated: 1772778283
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa6c9dc589a244aa9be3f2b1b52db166
|
||||
timeCreated: 1772778328
|
||||
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 恐惧制造者技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class FearMakerSkill : SkillBase
|
||||
{
|
||||
public FearMakerSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.FearMaker;
|
||||
}
|
||||
|
||||
public override void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageTarget == null || info.DamageOrigin == null) return;
|
||||
if (info.DamageType != DamageType.ActiveAttack && info.DamageType != DamageType.CounterAttack) return;
|
||||
|
||||
info.DamageTarget.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, info.DamageOrigin.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 74ee72e3a37b4be0867b71435856d9cd
|
||||
timeCreated: 1773043718
|
||||
@ -1,22 +1,18 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 尸体燃烧技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Description: 格子辐射技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class CorpseBurnSkill : SkillBase
|
||||
public partial class GridRadiationSkill : SkillBase
|
||||
{
|
||||
public CorpseBurnSkill()
|
||||
public GridRadiationSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
@ -25,7 +21,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEBURN;
|
||||
return SkillType.GridRadiation;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5dc0734b45d40489601af748c87e97f
|
||||
timeCreated: 1773043763
|
||||
@ -25,7 +25,12 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.HIDESTATE;
|
||||
return SkillType.HideState;
|
||||
}
|
||||
|
||||
public override void AfterActiveAttacked(MapData mapData, UnitData origin, UnitData target)
|
||||
{
|
||||
origin.RemoveSkill(SkillType.HideState, mapData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,52 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 恋自动移动技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using System.Collections.Generic;
|
||||
using Logic.Action;
|
||||
using Logic.AI;
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class KoishiAutoMoveSkill : SkillBase
|
||||
{
|
||||
public KoishiAutoMoveSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KoishiAutoMove;
|
||||
}
|
||||
|
||||
public override void OnTurnEnd(IdentifierBase self, MapData mapData)
|
||||
{
|
||||
var unit = self as UnitData;
|
||||
mapData.GetPlayerDataByUnitId(self.Id, out var player);
|
||||
if (unit == null || player == null) return;
|
||||
|
||||
var data = new AICalculatorData();
|
||||
data.Map = mapData;
|
||||
data.Player = player;
|
||||
data.TargetParam.MapData = mapData;
|
||||
data.TargetParam.PlayerData = player;
|
||||
data.TargetParam.UnitData = unit;
|
||||
data.TargetParam.OnParamChanged();
|
||||
AIActionGenerator.GeneratorActionIds(data, CommonActionType.UnitMove);
|
||||
if (data.AIActions.Count == 0) return;
|
||||
|
||||
data.TargetParam.RefreshParams();
|
||||
var index = mapData.Net.GetRandom(mapData).Next(0, data.AIActions.Count - 1); // 生成 index
|
||||
data.AIActions[index].ActionLogic.CompleteExecute(data.AIActions[index].Param);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dee0a882ca5c4c4983156a3f39fbe598
|
||||
timeCreated: 1773043703
|
||||
@ -25,7 +25,17 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIAUTO;
|
||||
return SkillType.KoishiAuto;
|
||||
}
|
||||
|
||||
public override void OnMove(UnitData self, GridData grid, MapData mapData, MoveType moveType, List<Vector2Int> path = null)
|
||||
{
|
||||
base.OnMove(self, grid, mapData, moveType, path);
|
||||
}
|
||||
|
||||
private void AfterAction()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 恋骨堆治愈技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class KoishiBoneHealSkill : SkillBase
|
||||
{
|
||||
public KoishiBoneHealSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIBONEHEAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ec5bcc5f01348f4a4ed2e13ac8d96da
|
||||
timeCreated: 1772778266
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIDEATHFEAR;
|
||||
return SkillType.KoishiDeathFear;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 810580e3ac0f4cc29741b59a18ff9ac4
|
||||
timeCreated: 1772778275
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIRESPAWN;
|
||||
return SkillType.KoishiRespawn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 恋不死技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
using TH1_Logic.Core;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class KoishiUndeadSkill : SkillBase
|
||||
{
|
||||
public KoishiUndeadSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KoishiUndead;
|
||||
}
|
||||
|
||||
public override bool IsCanBeKill(UnitData self, MapData mapData)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void OnDamaged(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageTarget == null || info.DamageTarget.Health > 0) return;
|
||||
Main.UnitLogic.UnitUnnaturalDie(mapData, info.DamageTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a5d31aa0b9a84a41badb88930ad101b4
|
||||
timeCreated: 1773043725
|
||||
@ -27,7 +27,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOMEIJIFEAR;
|
||||
return SkillType.KomeijiFear;
|
||||
}
|
||||
|
||||
public override float GetDefenseMultiplicationParam(MapData mapData, UnitData self, UnitData target = null)
|
||||
@ -63,7 +63,7 @@ namespace Logic.Skill
|
||||
if (map.IsLeagueUnitByUnit(self.Id, target.Id)) continue;
|
||||
|
||||
Main.UnitLogic.DamageSettlement(map, self, target, 2, DamageType.Splash);
|
||||
target.AddOrOverrideSkill(SkillType.KOMEIJIFEAR, map, self.Id);
|
||||
target.AddOrOverrideSkill(SkillType.KomeijiFear, map, self.Id);
|
||||
}
|
||||
}
|
||||
else if (_level == 1)
|
||||
|
||||
@ -1,22 +1,18 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 尸体效果技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Description: 燐尸体收集技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class CorpseEffectSkill : SkillBase
|
||||
public partial class RinCorpseColletSkill : SkillBase
|
||||
{
|
||||
public CorpseEffectSkill()
|
||||
public RinCorpseColletSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
@ -25,7 +21,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEEFFECT;
|
||||
return SkillType.RinCorpseCollet;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 35c966679cdc4a90ad6add26bba6ccf1
|
||||
timeCreated: 1773043735
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 燐火焰技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class RinFireSkill : SkillBase
|
||||
{
|
||||
public RinFireSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.RinFire;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 82ba0d7d7a32486db4aa11db62372165
|
||||
timeCreated: 1773043743
|
||||
@ -25,7 +25,14 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SATORIBAN;
|
||||
return SkillType.SatoriBan;
|
||||
}
|
||||
|
||||
public override void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageType != DamageType.ActiveAttack || info.DamageOrigin == null || info.DamageTarget == null) return;
|
||||
|
||||
info.DamageOrigin.AddOrOverrideSkill(SkillType.SkillBan, mapData, info.DamageOrigin.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -26,7 +26,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SATORISEE;
|
||||
return SkillType.SatoriSee;
|
||||
}
|
||||
|
||||
public override void BeforeUnitDamaged(UnitData self, MapData mapData, SettlementInfo info)
|
||||
@ -44,7 +44,7 @@ namespace Logic.Skill
|
||||
|
||||
var dis = mapData.GridMap.CalcDistance(selfGrid, targetGrid);
|
||||
if (dis > 2) return;
|
||||
info.DamageOrigin.AddOrOverrideSkill(SkillType.KOMEIJIFEAR, mapData, self.Id);
|
||||
info.DamageOrigin.AddOrOverrideSkill(SkillType.KomeijiFear, mapData, self.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,12 +5,10 @@
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
using Logic.CrashSight;
|
||||
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
@ -25,7 +23,27 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SKILLBANBOMB;
|
||||
return SkillType.SkillBanBoom;
|
||||
}
|
||||
|
||||
public override void OnDamaged(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (!info.IsKill || info.DamageTarget == null) return;
|
||||
var grid = info.DamageTarget.Grid(mapData);
|
||||
if (grid == null)
|
||||
{
|
||||
LogSystem.LogError($"Explode Error grid is null");
|
||||
return;
|
||||
}
|
||||
|
||||
var arounds = mapData.GridMap.GetAroundGridData(1, 1, grid);
|
||||
foreach (var around in arounds)
|
||||
{
|
||||
if (around == grid) continue;
|
||||
var target = around.Unit(mapData);
|
||||
if (target == null) continue;
|
||||
target.AddOrOverrideSkill(SkillType.SkillBan, mapData, info.DamageTarget.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,14 +18,19 @@ namespace Logic.Skill
|
||||
{
|
||||
public SkillBanSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
IsPermanent = false;
|
||||
TurnsLimit = 1;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SKILLBAN;
|
||||
return SkillType.SkillBan;
|
||||
}
|
||||
|
||||
public override bool IsAllSkillBan()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
42
Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UndeadSkill.cs
Normal file
42
Unity/Assets/Scripts/TH1_Logic/Skill/AllSkill/UndeadSkill.cs
Normal file
@ -0,0 +1,42 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 不死技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
using TH1_Logic.Core;
|
||||
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class UndeadSkill : SkillBase
|
||||
{
|
||||
public UndeadSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.Undead;
|
||||
}
|
||||
|
||||
public override bool IsCanBeKill(UnitData self, MapData mapData)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void OnDamaged(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageTarget == null || info.DamageTarget.Health > 0) return;
|
||||
Main.UnitLogic.UnitUnnaturalDie(mapData, info.DamageTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 16f6a875ce184a35821ee1f354dbbb0b
|
||||
timeCreated: 1773043696
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 空AOE移动技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class UtsuhoAoeMoveSkill : SkillBase
|
||||
{
|
||||
public UtsuhoAoeMoveSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHOAOEMOVE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4b6a32be4a814be7bb94d841ed0849a1
|
||||
timeCreated: 1772778339
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHOBONEMAKER;
|
||||
return SkillType.UtsuhoBoneMaker;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHODELAYACT;
|
||||
return SkillType.UtsuhoDelayAct;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 空任务技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class UtsuhoMissionSkill : SkillBase
|
||||
{
|
||||
public UtsuhoMissionSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHOMISSION;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4461bc9684a248e1b72b92927d309b16
|
||||
timeCreated: 1772778355
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHORADIATION;
|
||||
return SkillType.UtsuhoRadiation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 空准备移动技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class UtsuhoReadyMoveSkill : SkillBase
|
||||
{
|
||||
public UtsuhoReadyMoveSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UtsuhoReadyMove;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec8e682cfdc6428ca9412e30a684fb18
|
||||
timeCreated: 1773043756
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 空准备移动强化技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class UtsuhoReadyMoveSuperSkill : SkillBase
|
||||
{
|
||||
public UtsuhoReadyMoveSuperSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UtsuhoReadyMoveSuper;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a935dbc697ff40b2b4115cd4c3b2d387
|
||||
timeCreated: 1773043771
|
||||
@ -1,34 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪三格突进技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class YuugiDash3Skill : SkillBase
|
||||
{
|
||||
public YuugiDash3Skill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIDASH3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4eb913b1cd2d48b1b62a8d623648700c
|
||||
timeCreated: 1772778364
|
||||
@ -1,32 +0,0 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪突进极限技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class YuugiDashMaxSkill : SkillBase
|
||||
{
|
||||
public YuugiDashMaxSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIDASHMAX;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf45a4f21ce241b8b67e5977bcd33ee0
|
||||
timeCreated: 1772778373
|
||||
@ -1,16 +1,12 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪突进进阶技能
|
||||
* @Date: 2026年03月06日
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using MemoryPack;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
@ -25,7 +21,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIDASHPRO;
|
||||
return SkillType.YuugiDashPro;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: deb421f51aad462bbfdf7464d238fec7
|
||||
timeCreated: 1772778369
|
||||
guid: b60b23dafbb742ee911979d004fdcf68
|
||||
timeCreated: 1773043785
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪突进技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class YuugiDashSkill : SkillBase
|
||||
{
|
||||
public YuugiDashSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YuugiDash;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2a46bd86f07b46f3b43f9e744393ca35
|
||||
timeCreated: 1773043777
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪移动增强技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class YuugiMovePlusSkill : SkillBase
|
||||
{
|
||||
public YuugiMovePlusSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YuugiMovePlus;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ac059b63b6c043e982fa1ec2b312ef6f
|
||||
timeCreated: 1773043807
|
||||
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: 白哉
|
||||
* @Description: 勇仪移动技能
|
||||
* @Date: 2026年03月09日
|
||||
* @Modify:
|
||||
*/
|
||||
|
||||
using RuntimeData;
|
||||
using MemoryPack;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
public partial class YuugiMoveSkill : SkillBase
|
||||
{
|
||||
public YuugiMoveSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YuugiMove;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bd32fa53f5ea44f9b07dab1942317815
|
||||
timeCreated: 1773043799
|
||||
@ -25,7 +25,7 @@ namespace Logic.Skill
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIPUSH;
|
||||
return SkillType.YuugiPush;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated CorpseEffectSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated BoneAttackUpSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CorpseEffectSkill
|
||||
public partial class BoneAttackUpSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 11db9b4189709ec41958e11aab8e7f9e
|
||||
guid: 31e31c3b301e2bc4bb39a217c2985c7b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated UtsuhoAoeMoveSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated BoneSacrificeSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class UtsuhoAoeMoveSkill
|
||||
public partial class BoneSacrificeSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf8b16293b8c9c246b55c7e44d6800ad
|
||||
guid: e6db9551f40eb6943b5cc39aab4603e0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 024a53f169cb9744a9000d32c9fc3052
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated YuugiDash3Skill partial class with MemoryPackable attribute
|
||||
// Auto-generated FearMakerSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class YuugiDash3Skill
|
||||
public partial class FearMakerSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 896f1d164dd0b7c42acd8319c2ec232b
|
||||
guid: 85b3a8f79bb50944c9ae466c12c3f570
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated UtsuhoMissionSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated GridRadiationSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class UtsuhoMissionSkill
|
||||
public partial class GridRadiationSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5541ecf1368e42f4b967cd6cee8aacdc
|
||||
guid: 534b99977e35fc0418cb571531f6f924
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated KoishiBoneHealSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated KoishiAutoMoveSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class KoishiBoneHealSkill
|
||||
public partial class KoishiAutoMoveSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c74ac71107d26194ebc34bbb5873ac31
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 59ff114c60ea3f04cad25625b889f735
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6dc5a6f853cb4564aa0acbd875c927c2
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated YuugiDashMaxSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated KoishiUndeadSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class YuugiDashMaxSkill
|
||||
public partial class KoishiUndeadSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ce5945e62b63e4e4ba9ad182c1cea4fe
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated BonePileAttackSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated RinCorpseColletSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class BonePileAttackSkill
|
||||
public partial class RinCorpseColletSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fe15dee647073cf47bbdc4304682a7e1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated CorpseFireSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated RinFireSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CorpseFireSkill
|
||||
public partial class RinFireSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fcb7319ebbd514740ab88215d9761f2e
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -16,221 +16,224 @@ namespace Logic.Skill
|
||||
[MemoryPackUnion(8, typeof(AyaMoveAgainBuffSkill))]
|
||||
[MemoryPackUnion(9, typeof(AyaMoveAgainSkill))]
|
||||
[MemoryPackUnion(10, typeof(BambooMoveSkill))]
|
||||
[MemoryPackUnion(11, typeof(BonePileAttackSkill))]
|
||||
[MemoryPackUnion(11, typeof(BoneAttackUpSkill))]
|
||||
[MemoryPackUnion(12, typeof(BonePileSkill))]
|
||||
[MemoryPackUnion(13, typeof(CanHideSkill))]
|
||||
[MemoryPackUnion(14, typeof(CantMoveSkill))]
|
||||
[MemoryPackUnion(15, typeof(CarrySkill))]
|
||||
[MemoryPackUnion(16, typeof(CatCartSkill))]
|
||||
[MemoryPackUnion(17, typeof(CityTransportSkill))]
|
||||
[MemoryPackUnion(18, typeof(ConvertSkill))]
|
||||
[MemoryPackUnion(19, typeof(CorpseBuffSkill))]
|
||||
[MemoryPackUnion(20, typeof(CorpseBurnSkill))]
|
||||
[MemoryPackUnion(21, typeof(CorpseCollectSkill))]
|
||||
[MemoryPackUnion(22, typeof(CorpseEffectSkill))]
|
||||
[MemoryPackUnion(23, typeof(CorpseFireSkill))]
|
||||
[MemoryPackUnion(24, typeof(CreepSkill))]
|
||||
[MemoryPackUnion(25, typeof(CriticalSkill))]
|
||||
[MemoryPackUnion(26, typeof(CurseGodSkill))]
|
||||
[MemoryPackUnion(27, typeof(DashSkill))]
|
||||
[MemoryPackUnion(28, typeof(DuoSkill))]
|
||||
[MemoryPackUnion(29, typeof(EirinFrenchAttackSkill))]
|
||||
[MemoryPackUnion(30, typeof(EirinFrenchBuffSkill))]
|
||||
[MemoryPackUnion(31, typeof(EirinFrenchKillSkill))]
|
||||
[MemoryPackUnion(32, typeof(EscapeProSkill))]
|
||||
[MemoryPackUnion(33, typeof(EscapeSkill))]
|
||||
[MemoryPackUnion(34, typeof(EternitySkill))]
|
||||
[MemoryPackUnion(35, typeof(FlandreAttackSkill))]
|
||||
[MemoryPackUnion(36, typeof(FlandreBuffSkill))]
|
||||
[MemoryPackUnion(37, typeof(FlandreKillSkill))]
|
||||
[MemoryPackUnion(38, typeof(FlySkill))]
|
||||
[MemoryPackUnion(39, typeof(ForestDefenseSkill))]
|
||||
[MemoryPackUnion(40, typeof(ForestStartDashSkill))]
|
||||
[MemoryPackUnion(41, typeof(FortifySkill))]
|
||||
[MemoryPackUnion(42, typeof(GalaxyArrowSkill))]
|
||||
[MemoryPackUnion(43, typeof(GridMomijiPerySkill))]
|
||||
[MemoryPackUnion(44, typeof(GridMountainSkill))]
|
||||
[MemoryPackUnion(45, typeof(GridSanaeNineContinueDamageSkill))]
|
||||
[MemoryPackUnion(46, typeof(HealSkill))]
|
||||
[MemoryPackUnion(47, typeof(HideStateSkill))]
|
||||
[MemoryPackUnion(48, typeof(IllusionSkill))]
|
||||
[MemoryPackUnion(49, typeof(JunkerOfficerSkill))]
|
||||
[MemoryPackUnion(50, typeof(KaguyaFrenchAroundSkill))]
|
||||
[MemoryPackUnion(51, typeof(KaguyaFrenchAttackProSkill))]
|
||||
[MemoryPackUnion(52, typeof(KaguyaFrenchAttackSkill))]
|
||||
[MemoryPackUnion(53, typeof(KaguyaFrenchForeverBuffSkill))]
|
||||
[MemoryPackUnion(54, typeof(KaguyaFrenchNapoleonicCodeSkill))]
|
||||
[MemoryPackUnion(55, typeof(KaguyaFrenchSynergyDebuffSkill))]
|
||||
[MemoryPackUnion(56, typeof(KaguyaFrenchSynergySkill))]
|
||||
[MemoryPackUnion(57, typeof(KanakoBattlefieldProSkill))]
|
||||
[MemoryPackUnion(58, typeof(KanakoBattlefieldSkill))]
|
||||
[MemoryPackUnion(59, typeof(KanakoMountainAttackSkill))]
|
||||
[MemoryPackUnion(60, typeof(KanakoMountainBuffSkill))]
|
||||
[MemoryPackUnion(61, typeof(KanakoMountainSkill))]
|
||||
[MemoryPackUnion(62, typeof(KanakoSittingSkill))]
|
||||
[MemoryPackUnion(63, typeof(KanakoTechSkill))]
|
||||
[MemoryPackUnion(64, typeof(KanakoWarProSkill))]
|
||||
[MemoryPackUnion(65, typeof(KanakoWarSkill))]
|
||||
[MemoryPackUnion(66, typeof(KanakoWindProSkill))]
|
||||
[MemoryPackUnion(67, typeof(KanakoWindSkill))]
|
||||
[MemoryPackUnion(68, typeof(KoakumaDevotionSkill))]
|
||||
[MemoryPackUnion(69, typeof(KoakumaHeroSkill))]
|
||||
[MemoryPackUnion(13, typeof(BoneSacrificeSkill))]
|
||||
[MemoryPackUnion(14, typeof(CanHideSkill))]
|
||||
[MemoryPackUnion(15, typeof(CantMoveSkill))]
|
||||
[MemoryPackUnion(16, typeof(CarrySkill))]
|
||||
[MemoryPackUnion(17, typeof(CatCartSkill))]
|
||||
[MemoryPackUnion(18, typeof(CityTransportSkill))]
|
||||
[MemoryPackUnion(19, typeof(ConvertSkill))]
|
||||
[MemoryPackUnion(20, typeof(CorpseBuffSkill))]
|
||||
[MemoryPackUnion(21, typeof(CreepSkill))]
|
||||
[MemoryPackUnion(22, typeof(CriticalSkill))]
|
||||
[MemoryPackUnion(23, typeof(CurseGodSkill))]
|
||||
[MemoryPackUnion(24, typeof(DashSkill))]
|
||||
[MemoryPackUnion(25, typeof(DuoSkill))]
|
||||
[MemoryPackUnion(26, typeof(EirinFrenchAttackSkill))]
|
||||
[MemoryPackUnion(27, typeof(EirinFrenchBuffSkill))]
|
||||
[MemoryPackUnion(28, typeof(EirinFrenchKillSkill))]
|
||||
[MemoryPackUnion(29, typeof(EscapeProSkill))]
|
||||
[MemoryPackUnion(30, typeof(EscapeSkill))]
|
||||
[MemoryPackUnion(31, typeof(EternitySkill))]
|
||||
[MemoryPackUnion(32, typeof(FearMakerSkill))]
|
||||
[MemoryPackUnion(33, typeof(FlandreAttackSkill))]
|
||||
[MemoryPackUnion(34, typeof(FlandreBuffSkill))]
|
||||
[MemoryPackUnion(35, typeof(FlandreKillSkill))]
|
||||
[MemoryPackUnion(36, typeof(FlySkill))]
|
||||
[MemoryPackUnion(37, typeof(ForestDefenseSkill))]
|
||||
[MemoryPackUnion(38, typeof(ForestStartDashSkill))]
|
||||
[MemoryPackUnion(39, typeof(FortifySkill))]
|
||||
[MemoryPackUnion(40, typeof(GalaxyArrowSkill))]
|
||||
[MemoryPackUnion(41, typeof(GridMomijiPerySkill))]
|
||||
[MemoryPackUnion(42, typeof(GridMountainSkill))]
|
||||
[MemoryPackUnion(43, typeof(GridRadiationSkill))]
|
||||
[MemoryPackUnion(44, typeof(GridSanaeNineContinueDamageSkill))]
|
||||
[MemoryPackUnion(45, typeof(HealSkill))]
|
||||
[MemoryPackUnion(46, typeof(HideStateSkill))]
|
||||
[MemoryPackUnion(47, typeof(IllusionSkill))]
|
||||
[MemoryPackUnion(48, typeof(JunkerOfficerSkill))]
|
||||
[MemoryPackUnion(49, typeof(KaguyaFrenchAroundSkill))]
|
||||
[MemoryPackUnion(50, typeof(KaguyaFrenchAttackProSkill))]
|
||||
[MemoryPackUnion(51, typeof(KaguyaFrenchAttackSkill))]
|
||||
[MemoryPackUnion(52, typeof(KaguyaFrenchForeverBuffSkill))]
|
||||
[MemoryPackUnion(53, typeof(KaguyaFrenchNapoleonicCodeSkill))]
|
||||
[MemoryPackUnion(54, typeof(KaguyaFrenchSynergyDebuffSkill))]
|
||||
[MemoryPackUnion(55, typeof(KaguyaFrenchSynergySkill))]
|
||||
[MemoryPackUnion(56, typeof(KanakoBattlefieldProSkill))]
|
||||
[MemoryPackUnion(57, typeof(KanakoBattlefieldSkill))]
|
||||
[MemoryPackUnion(58, typeof(KanakoMountainAttackSkill))]
|
||||
[MemoryPackUnion(59, typeof(KanakoMountainBuffSkill))]
|
||||
[MemoryPackUnion(60, typeof(KanakoMountainSkill))]
|
||||
[MemoryPackUnion(61, typeof(KanakoSittingSkill))]
|
||||
[MemoryPackUnion(62, typeof(KanakoTechSkill))]
|
||||
[MemoryPackUnion(63, typeof(KanakoWarProSkill))]
|
||||
[MemoryPackUnion(64, typeof(KanakoWarSkill))]
|
||||
[MemoryPackUnion(65, typeof(KanakoWindProSkill))]
|
||||
[MemoryPackUnion(66, typeof(KanakoWindSkill))]
|
||||
[MemoryPackUnion(67, typeof(KoakumaDevotionSkill))]
|
||||
[MemoryPackUnion(68, typeof(KoakumaHeroSkill))]
|
||||
[MemoryPackUnion(69, typeof(KoishiAutoMoveSkill))]
|
||||
[MemoryPackUnion(70, typeof(KoishiAutoSkill))]
|
||||
[MemoryPackUnion(71, typeof(KoishiBoneHealSkill))]
|
||||
[MemoryPackUnion(72, typeof(KoishiDeathFearSkill))]
|
||||
[MemoryPackUnion(73, typeof(KoishiFreeSkill))]
|
||||
[MemoryPackUnion(74, typeof(KoishiRespawnSkill))]
|
||||
[MemoryPackUnion(75, typeof(KomeijiFearSkill))]
|
||||
[MemoryPackUnion(76, typeof(LaevatainPreySkill))]
|
||||
[MemoryPackUnion(77, typeof(LaevatainSkill))]
|
||||
[MemoryPackUnion(78, typeof(LandAndWaterSkill))]
|
||||
[MemoryPackUnion(79, typeof(LandOnlySkill))]
|
||||
[MemoryPackUnion(80, typeof(LuckSkill))]
|
||||
[MemoryPackUnion(81, typeof(MeilingCounterSkill))]
|
||||
[MemoryPackUnion(82, typeof(MeilingDuelSkill))]
|
||||
[MemoryPackUnion(83, typeof(MeilingRestSkill))]
|
||||
[MemoryPackUnion(84, typeof(MokouFrenchBoomSkill))]
|
||||
[MemoryPackUnion(85, typeof(MokouFrenchEggSkill))]
|
||||
[MemoryPackUnion(86, typeof(MokouFrenchReviveSkill))]
|
||||
[MemoryPackUnion(87, typeof(MomijiBuffSkill))]
|
||||
[MemoryPackUnion(88, typeof(MomijiHunterAttackSkill))]
|
||||
[MemoryPackUnion(89, typeof(MomijiHunterSkill))]
|
||||
[MemoryPackUnion(90, typeof(MomijiHuntSkill))]
|
||||
[MemoryPackUnion(91, typeof(MomijiKillSkill))]
|
||||
[MemoryPackUnion(92, typeof(MomijiPreySkill))]
|
||||
[MemoryPackUnion(93, typeof(MomijiSightSkill))]
|
||||
[MemoryPackUnion(94, typeof(MoonPrincessSkill))]
|
||||
[MemoryPackUnion(95, typeof(MoriyaBuffSkill))]
|
||||
[MemoryPackUnion(96, typeof(MoriyaKnightMoveSkill))]
|
||||
[MemoryPackUnion(97, typeof(MoriyaRoadSkill))]
|
||||
[MemoryPackUnion(98, typeof(MountainDefenseSkill))]
|
||||
[MemoryPackUnion(99, typeof(MountainGodSkill))]
|
||||
[MemoryPackUnion(100, typeof(MountainMoveSkill))]
|
||||
[MemoryPackUnion(101, typeof(MoveRangeUpSkill))]
|
||||
[MemoryPackUnion(102, typeof(NoPopulationSkill))]
|
||||
[MemoryPackUnion(103, typeof(NuclearFusionSkill))]
|
||||
[MemoryPackUnion(104, typeof(NuclearSkill))]
|
||||
[MemoryPackUnion(105, typeof(OceanDefenseSkill))]
|
||||
[MemoryPackUnion(106, typeof(OceanMoveSkill))]
|
||||
[MemoryPackUnion(107, typeof(OfficerSkill))]
|
||||
[MemoryPackUnion(108, typeof(PatchouliEarthSkill))]
|
||||
[MemoryPackUnion(109, typeof(PatchouliFireSkill))]
|
||||
[MemoryPackUnion(110, typeof(PatchouliMetalSkill))]
|
||||
[MemoryPackUnion(111, typeof(PatchouliMoveProSkill))]
|
||||
[MemoryPackUnion(112, typeof(PatchouliMoveSkill))]
|
||||
[MemoryPackUnion(113, typeof(PatchouliRestSkill))]
|
||||
[MemoryPackUnion(114, typeof(PatchouliStoneProSkill))]
|
||||
[MemoryPackUnion(115, typeof(PatchouliStoneSkill))]
|
||||
[MemoryPackUnion(116, typeof(PatchouliWaterSkill))]
|
||||
[MemoryPackUnion(117, typeof(PatchouliWoodSkill))]
|
||||
[MemoryPackUnion(118, typeof(PathStompSkill))]
|
||||
[MemoryPackUnion(119, typeof(PeaceSkill))]
|
||||
[MemoryPackUnion(120, typeof(PersistSkill))]
|
||||
[MemoryPackUnion(121, typeof(PhilostoneSkill))]
|
||||
[MemoryPackUnion(122, typeof(PhoenixEggSkill))]
|
||||
[MemoryPackUnion(123, typeof(PhoenixSkill))]
|
||||
[MemoryPackUnion(124, typeof(PoisonedSkill))]
|
||||
[MemoryPackUnion(125, typeof(PoorHealthSkill))]
|
||||
[MemoryPackUnion(126, typeof(PowerUpSkill))]
|
||||
[MemoryPackUnion(127, typeof(QuartetSkill))]
|
||||
[MemoryPackUnion(128, typeof(RecycleSkill))]
|
||||
[MemoryPackUnion(129, typeof(RedMistDefenseSkill))]
|
||||
[MemoryPackUnion(130, typeof(ReisenFrenchAttakSkill))]
|
||||
[MemoryPackUnion(131, typeof(ReisenFrenchKillSkill))]
|
||||
[MemoryPackUnion(132, typeof(ReisenIllusionProSkill))]
|
||||
[MemoryPackUnion(133, typeof(ReisenIllusionSkill))]
|
||||
[MemoryPackUnion(134, typeof(RemiliaAbsorbSkill))]
|
||||
[MemoryPackUnion(135, typeof(RemiliaAttackSkill))]
|
||||
[MemoryPackUnion(136, typeof(RemiliaBuff2Skill))]
|
||||
[MemoryPackUnion(137, typeof(RemiliaBuff3Skill))]
|
||||
[MemoryPackUnion(138, typeof(RemiliaBuffSkill))]
|
||||
[MemoryPackUnion(139, typeof(RemiliaEgyptianEmpireKillSkill))]
|
||||
[MemoryPackUnion(140, typeof(RemiliaHelpProSkill))]
|
||||
[MemoryPackUnion(141, typeof(RemiliaHelpSkill))]
|
||||
[MemoryPackUnion(142, typeof(RemiliaHunterSkill))]
|
||||
[MemoryPackUnion(143, typeof(RengesyouControSkill))]
|
||||
[MemoryPackUnion(144, typeof(RengesyouSkill))]
|
||||
[MemoryPackUnion(145, typeof(RotaLFlamesProSkill))]
|
||||
[MemoryPackUnion(146, typeof(RotaLFlamesSkill))]
|
||||
[MemoryPackUnion(147, typeof(SakuyaFlyProSkill))]
|
||||
[MemoryPackUnion(148, typeof(SakuyaFlySkill))]
|
||||
[MemoryPackUnion(149, typeof(SakuyaGuardSkill))]
|
||||
[MemoryPackUnion(150, typeof(SakuyaKillSkill))]
|
||||
[MemoryPackUnion(151, typeof(SanaeDivine_E2_ATK_Skill))]
|
||||
[MemoryPackUnion(152, typeof(SanaeDivine_E2_MOVE_Skill))]
|
||||
[MemoryPackUnion(153, typeof(SanaeDivine_E3_COUNTER_Skill))]
|
||||
[MemoryPackUnion(154, typeof(SanaeDivine_E3_HP_Skill))]
|
||||
[MemoryPackUnion(155, typeof(SanaeDivine_E4_DEFENSE_Skill))]
|
||||
[MemoryPackUnion(156, typeof(SanaeDivine_E4_KILL_Skill))]
|
||||
[MemoryPackUnion(157, typeof(SanaeDivine_F2_DEFENSE_Skill))]
|
||||
[MemoryPackUnion(158, typeof(SanaeDivine_F2_RESIST_Skill))]
|
||||
[MemoryPackUnion(159, typeof(SanaeDivine_F3_MOVE_Skill))]
|
||||
[MemoryPackUnion(160, typeof(SanaeDivine_F3_RESIST_Skill))]
|
||||
[MemoryPackUnion(161, typeof(SanaeDivine_F4_ATK_Skill))]
|
||||
[MemoryPackUnion(162, typeof(SanaeDivine_F4_KILL_Skill))]
|
||||
[MemoryPackUnion(163, typeof(SanaeDivineSkill))]
|
||||
[MemoryPackUnion(164, typeof(SanaeMoveSkill))]
|
||||
[MemoryPackUnion(165, typeof(SanaeNineContinueSkill))]
|
||||
[MemoryPackUnion(166, typeof(SanaeNineSkill))]
|
||||
[MemoryPackUnion(167, typeof(SanaeWindSkill))]
|
||||
[MemoryPackUnion(168, typeof(SanaeWindXSkill))]
|
||||
[MemoryPackUnion(169, typeof(SatoriBanSkill))]
|
||||
[MemoryPackUnion(170, typeof(SatoriSeeSkill))]
|
||||
[MemoryPackUnion(171, typeof(SatsujinkiSkill))]
|
||||
[MemoryPackUnion(172, typeof(ScarletKoakumaSkill))]
|
||||
[MemoryPackUnion(173, typeof(ScarletMistRealTimeVampireDebuffSkill))]
|
||||
[MemoryPackUnion(174, typeof(ScarletMistRealTimeVampireSkill))]
|
||||
[MemoryPackUnion(175, typeof(ScoutProSkill))]
|
||||
[MemoryPackUnion(176, typeof(ScoutSkill))]
|
||||
[MemoryPackUnion(177, typeof(SkillBanBombSkill))]
|
||||
[MemoryPackUnion(178, typeof(SkillBanSkill))]
|
||||
[MemoryPackUnion(179, typeof(SneakSkill))]
|
||||
[MemoryPackUnion(180, typeof(SpeedUpSkill))]
|
||||
[MemoryPackUnion(181, typeof(SplashSkill))]
|
||||
[MemoryPackUnion(182, typeof(StaticSkill))]
|
||||
[MemoryPackUnion(183, typeof(StiffSkill))]
|
||||
[MemoryPackUnion(184, typeof(StompSkill))]
|
||||
[MemoryPackUnion(185, typeof(SuperDashSkill))]
|
||||
[MemoryPackUnion(186, typeof(SuperHideSkill))]
|
||||
[MemoryPackUnion(187, typeof(SurpriseSkill))]
|
||||
[MemoryPackUnion(188, typeof(SuwakoAttackAllySkill))]
|
||||
[MemoryPackUnion(189, typeof(SuwakoAttackProSkill))]
|
||||
[MemoryPackUnion(190, typeof(SuwakoAttackSkill))]
|
||||
[MemoryPackUnion(191, typeof(SuwakoCombineSkill))]
|
||||
[MemoryPackUnion(192, typeof(SuwakoFullmapSkill))]
|
||||
[MemoryPackUnion(193, typeof(SuwakoHebiAttackSkill))]
|
||||
[MemoryPackUnion(194, typeof(SuwakoHebiCombineSkill))]
|
||||
[MemoryPackUnion(195, typeof(SuwakoHebiSkill))]
|
||||
[MemoryPackUnion(196, typeof(SuwakoHebiSplitSkill))]
|
||||
[MemoryPackUnion(197, typeof(SuwakoMoveSkill))]
|
||||
[MemoryPackUnion(198, typeof(SuwakoSplitSkill))]
|
||||
[MemoryPackUnion(199, typeof(SwapSkill))]
|
||||
[MemoryPackUnion(200, typeof(TaiChiSkill))]
|
||||
[MemoryPackUnion(201, typeof(TenguBuffSkill))]
|
||||
[MemoryPackUnion(202, typeof(TewiFrenchAttackSkill))]
|
||||
[MemoryPackUnion(203, typeof(TewiFrenchBuffSkill))]
|
||||
[MemoryPackUnion(204, typeof(TewiFrenchDieSkill))]
|
||||
[MemoryPackUnion(205, typeof(TewiFrenchKillSkill))]
|
||||
[MemoryPackUnion(206, typeof(TewiFrenchSightSkill))]
|
||||
[MemoryPackUnion(207, typeof(ThirdEyeSkill))]
|
||||
[MemoryPackUnion(208, typeof(TreatAsHeroSkill))]
|
||||
[MemoryPackUnion(209, typeof(TrioSkill))]
|
||||
[MemoryPackUnion(210, typeof(UniqueSkill))]
|
||||
[MemoryPackUnion(211, typeof(UtsuhoAoeMoveSkill))]
|
||||
[MemoryPackUnion(212, typeof(UtsuhoBoneMakerSkill))]
|
||||
[MemoryPackUnion(213, typeof(UtsuhoDelayActSkill))]
|
||||
[MemoryPackUnion(214, typeof(UtsuhoMissionSkill))]
|
||||
[MemoryPackUnion(71, typeof(KoishiDeathFearSkill))]
|
||||
[MemoryPackUnion(72, typeof(KoishiRespawnSkill))]
|
||||
[MemoryPackUnion(73, typeof(KoishiUndeadSkill))]
|
||||
[MemoryPackUnion(74, typeof(KomeijiFearSkill))]
|
||||
[MemoryPackUnion(75, typeof(LaevatainPreySkill))]
|
||||
[MemoryPackUnion(76, typeof(LaevatainSkill))]
|
||||
[MemoryPackUnion(77, typeof(LandAndWaterSkill))]
|
||||
[MemoryPackUnion(78, typeof(LandOnlySkill))]
|
||||
[MemoryPackUnion(79, typeof(LuckSkill))]
|
||||
[MemoryPackUnion(80, typeof(MeilingCounterSkill))]
|
||||
[MemoryPackUnion(81, typeof(MeilingDuelSkill))]
|
||||
[MemoryPackUnion(82, typeof(MeilingRestSkill))]
|
||||
[MemoryPackUnion(83, typeof(MokouFrenchBoomSkill))]
|
||||
[MemoryPackUnion(84, typeof(MokouFrenchEggSkill))]
|
||||
[MemoryPackUnion(85, typeof(MokouFrenchReviveSkill))]
|
||||
[MemoryPackUnion(86, typeof(MomijiBuffSkill))]
|
||||
[MemoryPackUnion(87, typeof(MomijiHunterAttackSkill))]
|
||||
[MemoryPackUnion(88, typeof(MomijiHunterSkill))]
|
||||
[MemoryPackUnion(89, typeof(MomijiHuntSkill))]
|
||||
[MemoryPackUnion(90, typeof(MomijiKillSkill))]
|
||||
[MemoryPackUnion(91, typeof(MomijiPreySkill))]
|
||||
[MemoryPackUnion(92, typeof(MomijiSightSkill))]
|
||||
[MemoryPackUnion(93, typeof(MoonPrincessSkill))]
|
||||
[MemoryPackUnion(94, typeof(MoriyaBuffSkill))]
|
||||
[MemoryPackUnion(95, typeof(MoriyaKnightMoveSkill))]
|
||||
[MemoryPackUnion(96, typeof(MoriyaRoadSkill))]
|
||||
[MemoryPackUnion(97, typeof(MountainDefenseSkill))]
|
||||
[MemoryPackUnion(98, typeof(MountainGodSkill))]
|
||||
[MemoryPackUnion(99, typeof(MountainMoveSkill))]
|
||||
[MemoryPackUnion(100, typeof(MoveRangeUpSkill))]
|
||||
[MemoryPackUnion(101, typeof(NoPopulationSkill))]
|
||||
[MemoryPackUnion(102, typeof(NuclearFusionSkill))]
|
||||
[MemoryPackUnion(103, typeof(NuclearSkill))]
|
||||
[MemoryPackUnion(104, typeof(OceanDefenseSkill))]
|
||||
[MemoryPackUnion(105, typeof(OceanMoveSkill))]
|
||||
[MemoryPackUnion(106, typeof(OfficerSkill))]
|
||||
[MemoryPackUnion(107, typeof(PatchouliEarthSkill))]
|
||||
[MemoryPackUnion(108, typeof(PatchouliFireSkill))]
|
||||
[MemoryPackUnion(109, typeof(PatchouliMetalSkill))]
|
||||
[MemoryPackUnion(110, typeof(PatchouliMoveProSkill))]
|
||||
[MemoryPackUnion(111, typeof(PatchouliMoveSkill))]
|
||||
[MemoryPackUnion(112, typeof(PatchouliRestSkill))]
|
||||
[MemoryPackUnion(113, typeof(PatchouliStoneProSkill))]
|
||||
[MemoryPackUnion(114, typeof(PatchouliStoneSkill))]
|
||||
[MemoryPackUnion(115, typeof(PatchouliWaterSkill))]
|
||||
[MemoryPackUnion(116, typeof(PatchouliWoodSkill))]
|
||||
[MemoryPackUnion(117, typeof(PathStompSkill))]
|
||||
[MemoryPackUnion(118, typeof(PeaceSkill))]
|
||||
[MemoryPackUnion(119, typeof(PersistSkill))]
|
||||
[MemoryPackUnion(120, typeof(PhilostoneSkill))]
|
||||
[MemoryPackUnion(121, typeof(PhoenixEggSkill))]
|
||||
[MemoryPackUnion(122, typeof(PhoenixSkill))]
|
||||
[MemoryPackUnion(123, typeof(PoisonedSkill))]
|
||||
[MemoryPackUnion(124, typeof(PoorHealthSkill))]
|
||||
[MemoryPackUnion(125, typeof(PowerUpSkill))]
|
||||
[MemoryPackUnion(126, typeof(QuartetSkill))]
|
||||
[MemoryPackUnion(127, typeof(RecycleSkill))]
|
||||
[MemoryPackUnion(128, typeof(RedMistDefenseSkill))]
|
||||
[MemoryPackUnion(129, typeof(ReisenFrenchAttakSkill))]
|
||||
[MemoryPackUnion(130, typeof(ReisenFrenchKillSkill))]
|
||||
[MemoryPackUnion(131, typeof(ReisenIllusionProSkill))]
|
||||
[MemoryPackUnion(132, typeof(ReisenIllusionSkill))]
|
||||
[MemoryPackUnion(133, typeof(RemiliaAbsorbSkill))]
|
||||
[MemoryPackUnion(134, typeof(RemiliaAttackSkill))]
|
||||
[MemoryPackUnion(135, typeof(RemiliaBuff2Skill))]
|
||||
[MemoryPackUnion(136, typeof(RemiliaBuff3Skill))]
|
||||
[MemoryPackUnion(137, typeof(RemiliaBuffSkill))]
|
||||
[MemoryPackUnion(138, typeof(RemiliaEgyptianEmpireKillSkill))]
|
||||
[MemoryPackUnion(139, typeof(RemiliaHelpProSkill))]
|
||||
[MemoryPackUnion(140, typeof(RemiliaHelpSkill))]
|
||||
[MemoryPackUnion(141, typeof(RemiliaHunterSkill))]
|
||||
[MemoryPackUnion(142, typeof(RengesyouControSkill))]
|
||||
[MemoryPackUnion(143, typeof(RengesyouSkill))]
|
||||
[MemoryPackUnion(144, typeof(RinCorpseColletSkill))]
|
||||
[MemoryPackUnion(145, typeof(RinFireSkill))]
|
||||
[MemoryPackUnion(146, typeof(RotaLFlamesProSkill))]
|
||||
[MemoryPackUnion(147, typeof(RotaLFlamesSkill))]
|
||||
[MemoryPackUnion(148, typeof(SakuyaFlyProSkill))]
|
||||
[MemoryPackUnion(149, typeof(SakuyaFlySkill))]
|
||||
[MemoryPackUnion(150, typeof(SakuyaGuardSkill))]
|
||||
[MemoryPackUnion(151, typeof(SakuyaKillSkill))]
|
||||
[MemoryPackUnion(152, typeof(SanaeDivine_E2_ATK_Skill))]
|
||||
[MemoryPackUnion(153, typeof(SanaeDivine_E2_MOVE_Skill))]
|
||||
[MemoryPackUnion(154, typeof(SanaeDivine_E3_COUNTER_Skill))]
|
||||
[MemoryPackUnion(155, typeof(SanaeDivine_E3_HP_Skill))]
|
||||
[MemoryPackUnion(156, typeof(SanaeDivine_E4_DEFENSE_Skill))]
|
||||
[MemoryPackUnion(157, typeof(SanaeDivine_E4_KILL_Skill))]
|
||||
[MemoryPackUnion(158, typeof(SanaeDivine_F2_DEFENSE_Skill))]
|
||||
[MemoryPackUnion(159, typeof(SanaeDivine_F2_RESIST_Skill))]
|
||||
[MemoryPackUnion(160, typeof(SanaeDivine_F3_MOVE_Skill))]
|
||||
[MemoryPackUnion(161, typeof(SanaeDivine_F3_RESIST_Skill))]
|
||||
[MemoryPackUnion(162, typeof(SanaeDivine_F4_ATK_Skill))]
|
||||
[MemoryPackUnion(163, typeof(SanaeDivine_F4_KILL_Skill))]
|
||||
[MemoryPackUnion(164, typeof(SanaeDivineSkill))]
|
||||
[MemoryPackUnion(165, typeof(SanaeMoveSkill))]
|
||||
[MemoryPackUnion(166, typeof(SanaeNineContinueSkill))]
|
||||
[MemoryPackUnion(167, typeof(SanaeNineSkill))]
|
||||
[MemoryPackUnion(168, typeof(SanaeWindSkill))]
|
||||
[MemoryPackUnion(169, typeof(SanaeWindXSkill))]
|
||||
[MemoryPackUnion(170, typeof(SatoriBanSkill))]
|
||||
[MemoryPackUnion(171, typeof(SatoriSeeSkill))]
|
||||
[MemoryPackUnion(172, typeof(SatsujinkiSkill))]
|
||||
[MemoryPackUnion(173, typeof(ScarletKoakumaSkill))]
|
||||
[MemoryPackUnion(174, typeof(ScarletMistRealTimeVampireDebuffSkill))]
|
||||
[MemoryPackUnion(175, typeof(ScarletMistRealTimeVampireSkill))]
|
||||
[MemoryPackUnion(176, typeof(ScoutProSkill))]
|
||||
[MemoryPackUnion(177, typeof(ScoutSkill))]
|
||||
[MemoryPackUnion(178, typeof(SkillBanBombSkill))]
|
||||
[MemoryPackUnion(179, typeof(SkillBanSkill))]
|
||||
[MemoryPackUnion(180, typeof(SneakSkill))]
|
||||
[MemoryPackUnion(181, typeof(SpeedUpSkill))]
|
||||
[MemoryPackUnion(182, typeof(SplashSkill))]
|
||||
[MemoryPackUnion(183, typeof(StaticSkill))]
|
||||
[MemoryPackUnion(184, typeof(StiffSkill))]
|
||||
[MemoryPackUnion(185, typeof(StompSkill))]
|
||||
[MemoryPackUnion(186, typeof(SuperDashSkill))]
|
||||
[MemoryPackUnion(187, typeof(SuperHideSkill))]
|
||||
[MemoryPackUnion(188, typeof(SurpriseSkill))]
|
||||
[MemoryPackUnion(189, typeof(SuwakoAttackAllySkill))]
|
||||
[MemoryPackUnion(190, typeof(SuwakoAttackProSkill))]
|
||||
[MemoryPackUnion(191, typeof(SuwakoAttackSkill))]
|
||||
[MemoryPackUnion(192, typeof(SuwakoCombineSkill))]
|
||||
[MemoryPackUnion(193, typeof(SuwakoFullmapSkill))]
|
||||
[MemoryPackUnion(194, typeof(SuwakoHebiAttackSkill))]
|
||||
[MemoryPackUnion(195, typeof(SuwakoHebiCombineSkill))]
|
||||
[MemoryPackUnion(196, typeof(SuwakoHebiSkill))]
|
||||
[MemoryPackUnion(197, typeof(SuwakoHebiSplitSkill))]
|
||||
[MemoryPackUnion(198, typeof(SuwakoMoveSkill))]
|
||||
[MemoryPackUnion(199, typeof(SuwakoSplitSkill))]
|
||||
[MemoryPackUnion(200, typeof(SwapSkill))]
|
||||
[MemoryPackUnion(201, typeof(TaiChiSkill))]
|
||||
[MemoryPackUnion(202, typeof(TenguBuffSkill))]
|
||||
[MemoryPackUnion(203, typeof(TewiFrenchAttackSkill))]
|
||||
[MemoryPackUnion(204, typeof(TewiFrenchBuffSkill))]
|
||||
[MemoryPackUnion(205, typeof(TewiFrenchDieSkill))]
|
||||
[MemoryPackUnion(206, typeof(TewiFrenchKillSkill))]
|
||||
[MemoryPackUnion(207, typeof(TewiFrenchSightSkill))]
|
||||
[MemoryPackUnion(208, typeof(ThirdEyeSkill))]
|
||||
[MemoryPackUnion(209, typeof(TreatAsHeroSkill))]
|
||||
[MemoryPackUnion(210, typeof(TrioSkill))]
|
||||
[MemoryPackUnion(211, typeof(UndeadSkill))]
|
||||
[MemoryPackUnion(212, typeof(UniqueSkill))]
|
||||
[MemoryPackUnion(213, typeof(UtsuhoBoneMakerSkill))]
|
||||
[MemoryPackUnion(214, typeof(UtsuhoDelayActSkill))]
|
||||
[MemoryPackUnion(215, typeof(UtsuhoRadiationSkill))]
|
||||
[MemoryPackUnion(216, typeof(VampireProSkill))]
|
||||
[MemoryPackUnion(217, typeof(VampireSkill))]
|
||||
[MemoryPackUnion(218, typeof(WaterDefenseSkill))]
|
||||
[MemoryPackUnion(219, typeof(WaterMoveSkill))]
|
||||
[MemoryPackUnion(220, typeof(WindGodSkill))]
|
||||
[MemoryPackUnion(221, typeof(WindPriestessSkill))]
|
||||
[MemoryPackUnion(222, typeof(YuugiDash3Skill))]
|
||||
[MemoryPackUnion(223, typeof(YuugiDashMaxSkill))]
|
||||
[MemoryPackUnion(216, typeof(UtsuhoReadyMoveSkill))]
|
||||
[MemoryPackUnion(217, typeof(UtsuhoReadyMoveSuperSkill))]
|
||||
[MemoryPackUnion(218, typeof(VampireProSkill))]
|
||||
[MemoryPackUnion(219, typeof(VampireSkill))]
|
||||
[MemoryPackUnion(220, typeof(WaterDefenseSkill))]
|
||||
[MemoryPackUnion(221, typeof(WaterMoveSkill))]
|
||||
[MemoryPackUnion(222, typeof(WindGodSkill))]
|
||||
[MemoryPackUnion(223, typeof(WindPriestessSkill))]
|
||||
[MemoryPackUnion(224, typeof(YuugiDashProSkill))]
|
||||
[MemoryPackUnion(225, typeof(YuugiPushSkill))]
|
||||
[MemoryPackUnion(225, typeof(YuugiDashSkill))]
|
||||
[MemoryPackUnion(226, typeof(YuugiMovePlusSkill))]
|
||||
[MemoryPackUnion(227, typeof(YuugiMoveSkill))]
|
||||
[MemoryPackUnion(228, typeof(YuugiPushSkill))]
|
||||
public abstract partial class SkillBase
|
||||
{
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// Auto-generated CorpseBurnSkill partial class with MemoryPackable attribute
|
||||
// Auto-generated UndeadSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
@ -7,7 +7,7 @@ using Logic.Skill;
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CorpseBurnSkill
|
||||
public partial class UndeadSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: efb5bdbc076739a4495b872c293454da
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ceb42873972f94d4aae8f85df8f5a332
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -1,11 +0,0 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5eb1d6871c44b34496dc52a84d12d51
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user