技能开发中,修复IO报错问题
This commit is contained in:
parent
03b7afb17b
commit
e1040c7579
@ -55,7 +55,7 @@ namespace NodeCanvas.Tasks.Actions
|
||||
#if !CHECK_ACTIONDEFFERENCE
|
||||
if (sw.Elapsed.TotalMilliseconds > 40)
|
||||
{
|
||||
LogSystem.LogError($"duration out, duration:{sw.Elapsed.TotalMilliseconds} ms, " +
|
||||
LogSystem.LogInfo($"duration out, duration:{sw.Elapsed.TotalMilliseconds} ms, " +
|
||||
$"NodeId: {NodeId}, {CalculateTypes[0]} Action 数量:{data.value.AIActions.Count} " +
|
||||
$"是否成功: {data.value.MaxAiAction != null} \n " +
|
||||
$" {str}");
|
||||
|
||||
@ -51,7 +51,7 @@ namespace NodeCanvas.Tasks.Actions
|
||||
sw.Stop();
|
||||
if (sw.Elapsed.TotalMilliseconds > 50)
|
||||
{
|
||||
LogSystem.LogError($"duration out, duration:{sw.Elapsed.TotalMilliseconds} ms, NodeId: {NodeId} {ActionTypes[0]}");
|
||||
LogSystem.LogInfo($"duration out, duration:{sw.Elapsed.TotalMilliseconds} ms, NodeId: {NodeId} {ActionTypes[0]}");
|
||||
}
|
||||
if (data.value.AIActions.Count == 0)
|
||||
{
|
||||
|
||||
@ -637,7 +637,7 @@ namespace RuntimeData
|
||||
//如果是remiliaGrid,且是斯卡雷特帝国的单位,给当前的unit填加skill
|
||||
if (type == GridSpType.RemiliaGrid && Unit(map,out var unit) && unit.Player(map,out var player) && player.PlayerCivId == 0)
|
||||
{
|
||||
unit.AddSkill_Legacy(SkillType.ScarletMistRealTimeVampire, map,true,-1,false,-1,false,AddSkillType.Force,0);
|
||||
unit.AddSkill_Legacy(SkillType.ScarletMistRealTimeVampire, map,true,-1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -1122,7 +1122,7 @@ namespace RuntimeData
|
||||
if(!Table.Instance.TechDataAssets.GetTechAtomInfo(atom,out var info))continue;
|
||||
if (!info.IsAddSkill) continue;
|
||||
if (!info.CheckCondition(unit.UnitFullType)) continue;
|
||||
unit.AddInitSkill(info.AddSkillType, this);
|
||||
unit.AddInitSkill(info.SpecialAddSkillType, this);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -43,37 +43,54 @@ namespace RuntimeData
|
||||
return _skillDict.TryGetValue(skillType, out skill);
|
||||
}
|
||||
|
||||
public enum AddSkillType
|
||||
// 添加技能的常规方法 (这里默认了添加和覆盖都走统一接口)
|
||||
public virtual void AddOrOverrideSkill(SkillType skillType, MapData mapData)
|
||||
{
|
||||
Normal, // 普通添加,如果已经有了这个技能了就不添加了
|
||||
Force, // 强制添加,如果已经有了这个技能了就覆盖掉原来的
|
||||
AddTurnLimit, // 如果已经有了这个技能了,就增加回合限制,否则正常添加
|
||||
AddLevel,// 如果已经有了这个技能了,就增加叠层数
|
||||
RefreshSkillDict();
|
||||
var skill = SkillFactory.GetSkillBySkillType(skillType);
|
||||
if (skill == null) return;
|
||||
Skills.Add(skill);
|
||||
_skillDict[skillType] = skill;
|
||||
}
|
||||
|
||||
public virtual void AddOrOverrideSkill(SkillBase skill)
|
||||
{
|
||||
if (_skillDict.ContainsKey(skill.GetSkillType())) return;
|
||||
Skills.Add(skill);
|
||||
_skillDict[skill.GetSkillType()] = skill;
|
||||
}
|
||||
|
||||
|
||||
// 添加技能的特殊方法 (这里默认了添加和覆盖都走统一接口)
|
||||
public virtual void SpecialAddOrOverrideSkill(SkillType skillType, MapData mapData, SkillOverrideInfo overrideInfo)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//TODO Legacy 这是一个耦合方法,会被拆解
|
||||
public virtual void AddSkill_Legacy(SkillType skillType, MapData mapData,bool IsPermanent,int turnLimit,bool IsLevel,int level,bool autoDisappear, AddSkillType addType, uint originId)
|
||||
public virtual void AddSkill_Legacy(SkillType skillType, MapData mapData, bool IsPermanent, int turnLimit,
|
||||
bool IsLevel, int level, bool autoDisappear, SpecialAddSkillType addType, uint originId)
|
||||
{
|
||||
RefreshSkillDict();
|
||||
//如果技能已经存在
|
||||
if (_skillDict.ContainsKey(skillType))
|
||||
{
|
||||
if (addType == AddSkillType.Normal) return;
|
||||
if (addType == AddSkillType.AddTurnLimit)
|
||||
if (addType == SpecialAddSkillType.Normal) return;
|
||||
if (addType == SpecialAddSkillType.AddTurnLimit)
|
||||
{
|
||||
var skill = _skillDict[skillType];
|
||||
//如果对方本来就是永久,直接return
|
||||
if(!skill.HasTimeLimit) return;
|
||||
if (!skill.HasTimeLimit) return;
|
||||
//否则让对方的limit增加
|
||||
if(!IsPermanent)
|
||||
if (!IsPermanent)
|
||||
skill.AddTurnLimit((uint)turnLimit + 1);
|
||||
return;
|
||||
}
|
||||
if (addType == AddSkillType.Force)
|
||||
|
||||
if (addType == SpecialAddSkillType.Force)
|
||||
{
|
||||
var skill = _skillDict[skillType];
|
||||
skill.SetPermanent(IsPermanent);
|
||||
if(!IsPermanent)
|
||||
if (!IsPermanent)
|
||||
skill.SetTurnsLimit((uint)turnLimit);
|
||||
skill.SetIsLevel(IsLevel);
|
||||
skill.SetAutoDisappear(autoDisappear);
|
||||
@ -81,17 +98,19 @@ namespace RuntimeData
|
||||
{
|
||||
skill.SetLevel(0);
|
||||
mapData.UnitMap.GetUnitDataByUnitId(originId, out var unitData);
|
||||
skill.AddLevel(mapData,unitData,this as UnitData,level);
|
||||
skill.AddLevel(mapData, unitData, this as UnitData, level);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
if (addType == AddSkillType.AddLevel)
|
||||
|
||||
if (addType == SpecialAddSkillType.AddLevel)
|
||||
{
|
||||
var skill = _skillDict[skillType];
|
||||
//如果对方不是叠层技能,直接return
|
||||
if(!skill.HasLevel) return;
|
||||
if (!skill.HasLevel) return;
|
||||
mapData.UnitMap.GetUnitDataByUnitId(originId, out var unitData);
|
||||
skill.AddLevel(mapData,unitData,this as UnitData,level);
|
||||
skill.AddLevel(mapData, unitData, this as UnitData, level);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -99,34 +118,18 @@ namespace RuntimeData
|
||||
{
|
||||
var skill = SkillFactory.GetSkillBySkillType(skillType);
|
||||
if (skill == null) return;
|
||||
|
||||
|
||||
Skills.Add(skill);
|
||||
_skillDict[skillType] = skill;
|
||||
if(!IsPermanent)skill.SetTurnsLimit((uint)turnLimit);
|
||||
if (!IsPermanent) skill.SetTurnsLimit((uint)turnLimit);
|
||||
if (IsLevel && mapData.UnitMap.GetUnitDataByUnitId(originId, out var unitData))
|
||||
skill.AddLevel(mapData,unitData,this as UnitData,level);
|
||||
|
||||
skill.AddLevel(mapData, unitData, this as UnitData, level);
|
||||
|
||||
skill.OnSkillAdd(mapData, originId);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void AddSkill_Legacy(SkillType skillType, MapData mapData)
|
||||
{
|
||||
RefreshSkillDict();
|
||||
var skill = SkillFactory.GetSkillBySkillType(skillType);
|
||||
if (skill == null) return;
|
||||
Skills.Add(skill);
|
||||
_skillDict[skillType] = skill;
|
||||
}
|
||||
|
||||
public virtual void AddSkill_Legacy(SkillBase skill)
|
||||
{
|
||||
if (_skillDict.ContainsKey(skill.GetSkillType())) return;
|
||||
Skills.Add(skill);
|
||||
_skillDict[skill.GetSkillType()] = skill;
|
||||
}
|
||||
|
||||
|
||||
//初始一个小兵,填加初始技能/国家科技标准的时候,使用这个
|
||||
public virtual void AddInitSkill(SkillType skillType, MapData mapData)
|
||||
{
|
||||
|
||||
@ -1000,7 +1000,7 @@ namespace RuntimeData
|
||||
foreach (var skill in copy) 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,AddSkillType.Force,0);
|
||||
AddSkill_Legacy(SkillType.ScarletMistRealTimeVampire, map,true,-1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
else
|
||||
if(GetSkill(SkillType.ScarletMistRealTimeVampire,out var _))
|
||||
RemoveSkill(SkillType.ScarletMistRealTimeVampire,map);
|
||||
|
||||
@ -269,7 +269,7 @@ public class TechAtomInfo
|
||||
//是否是生产unit的时候AddSkill的技能
|
||||
public bool IsAddSkill;
|
||||
public List<UnitFullType> AddSkillCondition;
|
||||
public SkillType AddSkillType;
|
||||
public SkillType SpecialAddSkillType;
|
||||
public bool EnableAction;
|
||||
public List<CommonActionId> TechActions;
|
||||
public bool UseActionSprite;
|
||||
|
||||
@ -1924,11 +1924,11 @@ namespace Logic.Action
|
||||
|
||||
var before = unit2.Health;
|
||||
Main.UnitLogic.RecoverHealth(mapData, unit1, unit2, recover);
|
||||
unit2.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGY, mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
unit2.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGY, mapData,false,1,false,-1,false, SpecialAddSkillType.AddTurnLimit,0);
|
||||
//如果溢出
|
||||
if (unit2.Health - before < recover)
|
||||
{
|
||||
unit2.AddSkill_Legacy(SkillType.MOVERANGEUP,mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
unit2.AddSkill_Legacy(SkillType.MOVERANGEUP,mapData,false,1,false,-1,false, SpecialAddSkillType.AddTurnLimit,0);
|
||||
}
|
||||
|
||||
//Step #2 处理所有skill的 OnHealOther生命周期
|
||||
@ -1941,7 +1941,7 @@ namespace Logic.Action
|
||||
animSkillData = SkillType.KAGUYAFRENCHATTACK;
|
||||
var lv = unit1.GetSkill(SkillType.KAGUYAFRENCHATTACKPRO, out var _) ? 9 : 1;
|
||||
unit1.ClearAPMPCP();
|
||||
unit2.AddSkill_Legacy(SkillType.KAGUYAFRENCHFOREVERBUFF, mapData,false,1,true,lv,false,IdentifierBase.AddSkillType.AddLevel,unit1.Id);
|
||||
unit2.AddSkill_Legacy(SkillType.KAGUYAFRENCHFOREVERBUFF, mapData,false,1,true,lv,false, SpecialAddSkillType.AddLevel,unit1.Id);
|
||||
//if (unit2.GetSkill(SkillType.KAGUYAFRENCHFOREVERBUFF, out var skill))
|
||||
//skill.AddLevel(mapData, unit1, unit2, lv);
|
||||
|
||||
|
||||
@ -12,6 +12,7 @@ using System.Linq;
|
||||
using Logic.AI;
|
||||
using Logic.Audio;
|
||||
using Logic.CrashSight;
|
||||
using Logic.Skill;
|
||||
using RuntimeData;
|
||||
using TH1_Logic.Core;
|
||||
using UnityEngine;
|
||||
@ -174,7 +175,7 @@ namespace Logic.Action
|
||||
newUnit.SetFullAPCPMP();
|
||||
//TODO 这里是hard code
|
||||
if(newUnit.UnitType == UnitType.MoriyaRider)
|
||||
newUnit.AddSkill_Legacy(SkillType.SNEAK,actionParams.MapData,false,0,false,-1,false,IdentifierBase.AddSkillType.Force,newUnit.Id);
|
||||
newUnit.AddSkill_Legacy(SkillType.SNEAK,actionParams.MapData,false,0,false,-1,false,SpecialAddSkillType.Force,newUnit.Id);
|
||||
//判断是否要更新视觉
|
||||
if (newUnit.InMainSight())
|
||||
newUnit.Renderer(actionParams.MapData)?.RenderUpdateUnitGlow();
|
||||
|
||||
@ -13,6 +13,7 @@ using System.Net;
|
||||
using Logic.AI;
|
||||
using Logic.Audio;
|
||||
using Logic.CrashSight;
|
||||
using Logic.Skill;
|
||||
using RuntimeData;
|
||||
using Steamworks;
|
||||
using TH1_Core.Events;
|
||||
@ -295,7 +296,7 @@ namespace Logic.Action
|
||||
if (actionParams.MapData.AddUnitData(gridData.Id, capital.Id,
|
||||
new UnitFullType(UnitType.RammerShip, GiantType.None, 0), out var unit))
|
||||
{
|
||||
unit.AddSkill_Legacy(SkillType.OFFICER,actionParams.MapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.Normal,0);
|
||||
unit.AddSkill_Legacy(SkillType.OFFICER,actionParams.MapData,true,-1,false,-1,false,SpecialAddSkillType.Normal,0);
|
||||
unit.SetOfficer();
|
||||
unit.Health = unit.GetMaxHealth();
|
||||
//Main.UnitLogic.UnitTypeTransform(actionParams.MapData,unit,new UnitFullType(UnitType.RammerShip,GiantType.None,0));
|
||||
@ -787,8 +788,8 @@ namespace Logic.Action
|
||||
if(!actionParams.MapData.GetUnitDataByGid(grid.Id,out var targetUnit))continue;
|
||||
if(!actionParams.MapData.GetPlayerDataByUnitId(targetUnit.Id, out var targetPlayer)) continue;
|
||||
if(!actionParams.MapData.SameUnion(targetPlayer.Id,selfPlayer.Id)) continue;
|
||||
targetUnit.AddSkill_Legacy(SkillType.MOVERANGEUP,actionParams.MapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
targetUnit.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGY,actionParams.MapData,false,1,false, -1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
targetUnit.AddSkill_Legacy(SkillType.MOVERANGEUP,actionParams.MapData,false,1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
targetUnit.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGY,actionParams.MapData,false,1,false, -1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
if(targetUnit.Renderer(actionParams.MapData)?.InstantUpdateUnit(true)??false)
|
||||
grid.Renderer(actionParams.MapData)?.PlayVFXInSight(new GridVFXParams(GridVFXType.TewiFrenchBuff));
|
||||
}
|
||||
@ -912,7 +913,7 @@ namespace Logic.Action
|
||||
if(!actionParams.MapData.GetUnitDataByGid(grid.Id,out var targetUnit))continue;
|
||||
if(!actionParams.MapData.GetPlayerDataByUnitId(targetUnit.Id, out var targetPlayer)) continue;
|
||||
if(!actionParams.MapData.SameUnion(targetPlayer.Id,selfPlayer.Id)) continue;
|
||||
targetUnit.AddSkill_Legacy(SkillType.KAGUYAFRENCHFOREVERBUFF, actionParams.MapData,false,1,true,1,true,IdentifierBase.AddSkillType.AddLevel, selfUnit.Id);
|
||||
targetUnit.AddSkill_Legacy(SkillType.KAGUYAFRENCHFOREVERBUFF, actionParams.MapData,false,1,true,1,true,SpecialAddSkillType.AddLevel, selfUnit.Id);
|
||||
//if (targetUnit.GetSkill(SkillType.KAGUYAFRENCHFOREVERBUFF, out var skill))
|
||||
//skill.AddLevel(actionParams.MapData, selfUnit, targetUnit, 1);
|
||||
|
||||
@ -1214,7 +1215,7 @@ namespace Logic.Action
|
||||
|
||||
|
||||
//Step #3 赋予buff
|
||||
unit.AddSkill_Legacy(SkillType.REMILIABUFF3, actionParams.MapData,false,0,true,count,true,IdentifierBase.AddSkillType.AddLevel,unit.Id);
|
||||
unit.AddSkill_Legacy(SkillType.REMILIABUFF3, actionParams.MapData,false,0,true,count,true,SpecialAddSkillType.AddLevel,unit.Id);
|
||||
//if (unit.GetSkill(SkillType.REMILIABUFF3, out var skill))
|
||||
//skill.AddLevel(actionParams.MapData, unit, unit, count);
|
||||
|
||||
@ -1274,7 +1275,7 @@ namespace Logic.Action
|
||||
if (unit == null || !unit.Grid(actionParams.MapData,out var grid)) return false;
|
||||
|
||||
//Step #2 赋予buff
|
||||
unit.AddSkill_Legacy(SkillType.KANAKOSITTING, actionParams.MapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.Force,0);
|
||||
unit.AddSkill_Legacy(SkillType.KANAKOSITTING, actionParams.MapData,true,-1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
|
||||
//Step #3 消耗CP(不需要消耗)
|
||||
//unit.ClearAPMPCP();
|
||||
|
||||
@ -155,12 +155,28 @@ namespace TH1_Logic.Config
|
||||
}
|
||||
}
|
||||
|
||||
private float _lastSaveTime;
|
||||
private const float SaveInterval = 1f; // 最少间隔1秒写一次
|
||||
|
||||
public void Update()
|
||||
{
|
||||
if (Config == null || !Config.IsChanged) return;
|
||||
string json = JsonUtility.ToJson(Config);
|
||||
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json);
|
||||
FileTools.SafeWriteFile(Application.persistentDataPath + "/game_cfg.json", bytes);
|
||||
if (Time.time - _lastSaveTime < SaveInterval) return;
|
||||
|
||||
try
|
||||
{
|
||||
string json = JsonUtility.ToJson(Config);
|
||||
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(json);
|
||||
string path = Application.persistentDataPath + "/game_cfg.json";
|
||||
FileTools.SafeWriteFile(path, bytes);
|
||||
|
||||
Config.MarkSaved();
|
||||
_lastSaveTime = Time.time;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogSystem.LogError($"[ConfigManager] 保存配置失败: {e.Message}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -180,6 +196,11 @@ namespace TH1_Logic.Config
|
||||
private bool _keyMomentEnabled;
|
||||
private bool _isChanged;
|
||||
public bool IsChanged => _isChanged;
|
||||
|
||||
public void MarkSaved()
|
||||
{
|
||||
_isChanged = false;
|
||||
}
|
||||
|
||||
|
||||
public MultilingualType MultilingualType
|
||||
|
||||
@ -1048,12 +1048,12 @@ namespace Logic
|
||||
|
||||
|
||||
//---------------------------------------------- tech相关操作 ------------------------------------
|
||||
|
||||
public void ResearchTech(MapData mapData, PlayerData playerData, TechType techType,int cost)
|
||||
|
||||
public void ResearchTech(MapData mapData, PlayerData playerData, TechType techType, int cost)
|
||||
{
|
||||
//如果已经有了这个科技,直接退出
|
||||
if (playerData.TechTree.CheckIfHasTech(techType)) return;
|
||||
|
||||
|
||||
if (playerData.PlayerTechPoint >= cost)
|
||||
{
|
||||
playerData.SpendTechPoint(cost);
|
||||
@ -1061,27 +1061,27 @@ namespace Logic
|
||||
}
|
||||
else
|
||||
{
|
||||
playerData.SpendCoin( cost - playerData.PlayerTechPoint);
|
||||
playerData.SpendCoin(cost - playerData.PlayerTechPoint);
|
||||
playerData.SpendTechPoint(playerData.PlayerTechPoint);
|
||||
//playerData.PlayerTechPoint = 0;
|
||||
}
|
||||
|
||||
|
||||
playerData.TechTree.LearnTech(techType, playerData);
|
||||
// Collect 调用
|
||||
CollectManager.Instance.LearnTechsCollect(mapData, playerData, techType);
|
||||
|
||||
|
||||
//diplomacy科技特殊处理外交情况
|
||||
if (techType == TechType.Diplomacy)
|
||||
UpdateDiplomacySight(mapData, playerData);
|
||||
foreach (var girdData in mapData.GridMap.GridList)
|
||||
if(mapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(girdData.Id))
|
||||
if (mapData.PlayerMap.SelfPlayerData.Sight.CheckIsInSight(girdData.Id))
|
||||
girdData.Renderer(mapData)?.InstantUpdateGrid(true);
|
||||
|
||||
|
||||
|
||||
|
||||
//竹林驿站科技特殊处理城市联通情况 TODO 临时写法
|
||||
if (techType == TechType.KaguyaRoad || techType == TechType.KanakoRoads)
|
||||
Main.PlayerLogic.UpdateAllPlayerConnected(mapData);
|
||||
|
||||
|
||||
var techInfo = Table.Instance.TechDataAssets.GetTechInfo(techType);
|
||||
foreach (var techAtom in techInfo.TechAtomList)
|
||||
{
|
||||
@ -1094,9 +1094,11 @@ namespace Logic
|
||||
{
|
||||
if (!mapData.CheckUnitIdBelongPlayerId(unit.Id, playerData.Id)) continue;
|
||||
if (!forAll && !condition.Contains(unit.UnitFullType)) continue;
|
||||
unit.AddSkill_Legacy(atomInfo.AddSkillType, mapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.Force,0);
|
||||
unit.AddSkill_Legacy(atomInfo.SpecialAddSkillType, mapData, true, -1, false, -1, false,
|
||||
SpecialAddSkillType.Force, 0);
|
||||
//TODO 森林防御刷新视觉的临时写法
|
||||
if(atomInfo.AddSkillType is SkillType.FORESTDEFENSE or SkillType.WATERDEFENSE or SkillType.OCEANDEFENSE or SkillType.MOUNTAINDEFENSE)
|
||||
if (atomInfo.SpecialAddSkillType is SkillType.FORESTDEFENSE or SkillType.WATERDEFENSE
|
||||
or SkillType.OCEANDEFENSE or SkillType.MOUNTAINDEFENSE)
|
||||
unit.Renderer(mapData)?.RenderUpdateUnitDefense();
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ namespace Logic.Skill
|
||||
//周围1格内的盟友
|
||||
if(targetGrid.Unit(mapData,out var targetUnit) && targetUnit.Player(mapData,out var targetPlayer) && mapData.SameUnion(targetPlayer.Id,player.Id))
|
||||
{
|
||||
targetUnit.AddSkill_Legacy(SkillType.MOVERANGEUP,mapData,false,0,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
targetUnit.AddSkill_Legacy(SkillType.MOVERANGEUP,mapData,false,0,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
/*if (targetUnit.GetSkill(SkillType.MOVERANGEUP, out var moveSkill))
|
||||
{
|
||||
moveSkill.SetTurnsLimit(0);
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f6ec1803b84b4c938da710c9b7eb5756
|
||||
timeCreated: 1772778294
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 BonePileSkill : SkillBase
|
||||
{
|
||||
public BonePileSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.BONEPILE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ad8196d60d74f85928e7793fc38cb99
|
||||
timeCreated: 1772778237
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 CanHideSkill : SkillBase
|
||||
{
|
||||
public CanHideSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CANHIDE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: edc60fc8e6b54e98a9d98457843b928a
|
||||
timeCreated: 1772778250
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 CorpseBuffSkill : SkillBase
|
||||
{
|
||||
public CorpseBuffSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEBUFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8eff4a21746446709434a1ad3c966ff2
|
||||
timeCreated: 1772778241
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 CorpseBurnSkill : SkillBase
|
||||
{
|
||||
public CorpseBurnSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEBURN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1057017c9de840f798ceda726bcd2f22
|
||||
timeCreated: 1772778289
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3f0830937e64478e8214d15b0e57338b
|
||||
timeCreated: 1772778279
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 CorpseEffectSkill : SkillBase
|
||||
{
|
||||
public CorpseEffectSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEEFFECT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 104b286d300d4c839615dc1946bf4864
|
||||
timeCreated: 1772778283
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 CorpseFireSkill : SkillBase
|
||||
{
|
||||
public CorpseFireSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.CORPSEFIRE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: aa6c9dc589a244aa9be3f2b1b52db166
|
||||
timeCreated: 1772778328
|
||||
@ -61,7 +61,7 @@ namespace Logic.Skill
|
||||
if (unit.UnitFullType.GiantType == GiantType.EgyptianFlandre &&
|
||||
!unit.GetSkill(SkillType.FLANDREBUFF, out _))
|
||||
{
|
||||
unit.AddSkill_Legacy(SkillType.FLANDREBUFF, map,false,0,true,0,false,IdentifierBase.AddSkillType.Normal,0);
|
||||
unit.AddSkill_Legacy(SkillType.FLANDREBUFF, map,false,0,true,0,false,SpecialAddSkillType.Normal,0);
|
||||
}
|
||||
}
|
||||
_staticLevel += add;
|
||||
|
||||
@ -30,7 +30,7 @@ namespace Logic.Skill
|
||||
public override void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (!info.IsKill || !info.DamageOrigin.IsAlive()) return;
|
||||
info.DamageOrigin.AddSkill_Legacy(SkillType.FLANDREBUFF, mapData,false,0,true,1,true,IdentifierBase.AddSkillType.AddLevel,info.DamageOrigin.Id);
|
||||
info.DamageOrigin.AddSkill_Legacy(SkillType.FLANDREBUFF, mapData,false,0,true,1,true,SpecialAddSkillType.AddLevel,info.DamageOrigin.Id);
|
||||
//info.DamageOrigin.GetSkill(SkillType.FLANDREBUFF, out var skill);
|
||||
//skill?.AddLevel(mapData, info.DamageOrigin, info.DamageOrigin, 1);
|
||||
}
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 HideStateSkill : SkillBase
|
||||
{
|
||||
public HideStateSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.HIDESTATE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 505514e228c8489db444e8fda2a34a23
|
||||
timeCreated: 1772778246
|
||||
@ -32,7 +32,7 @@ namespace Logic.Skill
|
||||
if (info.DamageOrigin == null || info.DamageTarget == null) return;
|
||||
if (info.DamageType != DamageType.ActiveAttack && info.DamageType != DamageType.Splash) return;
|
||||
|
||||
info.DamageTarget.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, mapData,false,0,true,1,true,IdentifierBase.AddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
info.DamageTarget.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, mapData,false,0,true,1,true,SpecialAddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
//info.DamageTarget.GetSkill(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, out var skill);
|
||||
//if (skill == null) return;
|
||||
//skill.AddLevel(mapData, info.DamageOrigin, info.DamageTarget, 1);
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 KoishiAutoSkill : SkillBase
|
||||
{
|
||||
public KoishiAutoSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIAUTO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: dcac74c6cc8d4e7f9d23f42e9b537d93
|
||||
timeCreated: 1772778261
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 7ec5bcc5f01348f4a4ed2e13ac8d96da
|
||||
timeCreated: 1772778266
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 KoishiDeathFearSkill : SkillBase
|
||||
{
|
||||
public KoishiDeathFearSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIDEATHFEAR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 38eb4188dc8b4cbcb7dddb19278b492b
|
||||
timeCreated: 1772778270
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 KoishiFreeSkill : SkillBase
|
||||
{
|
||||
public KoishiFreeSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIFREE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 810580e3ac0f4cc29741b59a18ff9ac4
|
||||
timeCreated: 1772778275
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 KoishiRespawnSkill : SkillBase
|
||||
{
|
||||
public KoishiRespawnSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOISHIRESPAWN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 99303b0111264862beb589bc91139b07
|
||||
timeCreated: 1772778254
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 KomeijiFearSkill : SkillBase
|
||||
{
|
||||
public KomeijiFearSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.KOMEIJIFEAR;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e5f6dc59679946a99be146eaa07ef9ca
|
||||
timeCreated: 1772778214
|
||||
@ -30,7 +30,7 @@ namespace Logic.Skill
|
||||
|
||||
public override void AfterActiveAttacked(MapData mapData, UnitData origin, UnitData target)
|
||||
{
|
||||
target.AddSkill_Legacy(SkillType.ATTACKUP, mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
target.AddSkill_Legacy(SkillType.ATTACKUP, mapData,false,1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ namespace Logic.Skill
|
||||
}
|
||||
if (!aroundHero) return;
|
||||
|
||||
info.DamageTarget.AddSkill_Legacy(SkillType.CANTMOVE, mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0
|
||||
info.DamageTarget.AddSkill_Legacy(SkillType.CANTMOVE, mapData,false,1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -49,9 +49,9 @@ namespace Logic.Skill
|
||||
if (!mapData.AddUnitData(grid.Id, city.Id, FullType, out var newUnit)) return;
|
||||
if (FullType.UnitLevel > 1)
|
||||
{
|
||||
newUnit.AddSkill_Legacy(SkillType.MOVERANGEUP, mapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
newUnit.AddSkill_Legacy(SkillType.ATTACKRANGEUP, mapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
newUnit.AddSkill_Legacy(SkillType.ATTACKAFTERKILL, mapData,true,-1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
newUnit.AddSkill_Legacy(SkillType.MOVERANGEUP, mapData,true,-1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
newUnit.AddSkill_Legacy(SkillType.ATTACKRANGEUP, mapData,true,-1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
newUnit.AddSkill_Legacy(SkillType.ATTACKAFTERKILL, mapData,true,-1,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
}
|
||||
|
||||
newUnit.SetFullAPCPMP();
|
||||
|
||||
@ -41,7 +41,7 @@ namespace Logic.Skill
|
||||
if (!unit.Player(mapData, out var targetPlayer)) continue;
|
||||
if (!mapData.SameUnion(targetPlayer.Id, player.Id)) continue;
|
||||
unit.AddSkill_Legacy(SkillType.MOMIJIHUNTER, mapData, false, 0, false, -1, false,
|
||||
IdentifierBase.AddSkillType.AddTurnLimit, 0);
|
||||
SpecialAddSkillType.AddTurnLimit, 0);
|
||||
//unit.GetSkill(SkillType.MOMIJIHUNTER, out var skill);
|
||||
//skill?.SetTurnsLimit(0);
|
||||
}
|
||||
|
||||
@ -75,7 +75,7 @@ namespace Logic.Skill
|
||||
}
|
||||
|
||||
//Step #4 填加标记,时间戳rank设置为最大+1
|
||||
target.AddSkill_Legacy(SkillType.MOMIJIPREY,mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.Force,0);
|
||||
target.AddSkill_Legacy(SkillType.MOMIJIPREY,mapData,false,1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
target.GetSkill(SkillType.MOMIJIPREY,out var targetSkill);
|
||||
//targetSkill?.SetTurnsLimit(1);
|
||||
var tp = targetSkill as MomijiPreySkill;
|
||||
|
||||
@ -43,7 +43,7 @@ namespace Logic.Skill
|
||||
if (grid == null) return;
|
||||
foreach (var around in mapData.GridMap.GetAroundGridData(1, 1, grid))
|
||||
{
|
||||
around.AddSkill_Legacy(SkillType.GRIDMOMIJIPREY, mapData, false,1,false,-1,false,IdentifierBase.AddSkillType.Force,originId);
|
||||
around.AddSkill_Legacy(SkillType.GRIDMOMIJIPREY, mapData, false,1,false,-1,false,SpecialAddSkillType.Force,originId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -35,7 +35,7 @@ namespace Logic.Skill
|
||||
var grid = self.Grid(mapData);
|
||||
if (grid == null) return;
|
||||
if (grid.Feature != TerrainFeature.Mountain) return;
|
||||
self.AddSkill_Legacy(SkillType.SNEAK, mapData,false,0,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
self.AddSkill_Legacy(SkillType.SNEAK, mapData,false,0,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
//self.GetSkill(SkillType.SNEAK, out var sneakSkill);
|
||||
//if (sneakSkill == null) return;
|
||||
//sneakSkill.SetTurnsLimit(0);
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Logic.Skill
|
||||
return;
|
||||
}
|
||||
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIREST, mapData,true,-1,true,1,false,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIREST, mapData,true,-1,true,1,false,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIREST, out var skill);
|
||||
//if (skill == null) return;
|
||||
//skill.AddLevel(mapData, self, self, 1);
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Logic.Skill
|
||||
_moveFlag = false;
|
||||
return;
|
||||
}
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIREST, mapData,true,-1,true,1,false,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIREST, mapData,true,-1,true,1,false,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIREST, out var skill);
|
||||
//if (skill == null) return;
|
||||
//skill.AddLevel(mapData, self, self, 1);
|
||||
|
||||
@ -40,7 +40,7 @@ namespace Logic.Skill
|
||||
}
|
||||
if (grid.Terrain != TerrainType.Land) return;
|
||||
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIEARTH, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIEARTH, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIEARTH, out var earth);
|
||||
//earth?.AddLevel(mapData, self, self, 1);
|
||||
|
||||
@ -48,14 +48,14 @@ namespace Logic.Skill
|
||||
foreach (var gridData in roundGrid)
|
||||
{
|
||||
if (gridData.Terrain == TerrainType.Land) continue;
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWATER, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWATER, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIWATER, out var water);
|
||||
//water?.AddLevel(mapData, self, self, 1);
|
||||
}
|
||||
|
||||
if (grid.Feature == TerrainFeature.Mountain)
|
||||
{
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIMETAL, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIMETAL, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIMETAL, out var metal);
|
||||
//metal?.AddLevel(mapData, self, self, 1);
|
||||
}
|
||||
@ -67,7 +67,7 @@ namespace Logic.Skill
|
||||
if (mapData.SameUnion(player.Id,selfPlayer.Id)) continue;
|
||||
if (!city.Territory.CheckIsInTerritory(grid.Id)) continue;
|
||||
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIFIRE, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIFIRE, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIFIRE, out var fire);
|
||||
//fire?.AddLevel(mapData, self, self, 1);
|
||||
break;
|
||||
@ -75,7 +75,7 @@ namespace Logic.Skill
|
||||
|
||||
if (grid.Vegetation == Vegetation.Trees)
|
||||
{
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWOOD, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWOOD, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIWOOD, out var wood);
|
||||
//wood?.AddLevel(mapData, self, self, 1);
|
||||
}
|
||||
|
||||
@ -41,7 +41,7 @@ namespace Logic.Skill
|
||||
|
||||
if (grid.Terrain != TerrainType.Land) return;
|
||||
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIEARTH, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIEARTH, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIEARTH, out var earth);
|
||||
//earth?.AddLevel(mapData, self, self, 1);
|
||||
|
||||
@ -49,14 +49,14 @@ namespace Logic.Skill
|
||||
foreach (var gridData in roundGrid)
|
||||
{
|
||||
if (gridData.Terrain == TerrainType.Land) continue;
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWATER, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIWATER, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIWATER, out var water);
|
||||
//water?.AddLevel(mapData, self, self, 1);
|
||||
}
|
||||
|
||||
if (grid.Feature == TerrainFeature.Mountain)
|
||||
{
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIMETAL, mapData,true,-1,true,1,true,IdentifierBase.AddSkillType.AddLevel,self.Id);
|
||||
self.AddSkill_Legacy(SkillType.PATCHOULIMETAL, mapData,true,-1,true,1,true,SpecialAddSkillType.AddLevel,self.Id);
|
||||
//self.GetSkill(SkillType.PATCHOULIMETAL, out var metal);
|
||||
//metal?.AddLevel(mapData, self, self, 1);
|
||||
}
|
||||
|
||||
@ -44,7 +44,7 @@ namespace Logic.Skill
|
||||
MapRenderer.Instance.ProjectileManager.CreateProjectile(unit.GetPosition(mapData),target.GetPosition(mapData),ProjectileType.ReisenAttack);
|
||||
count++;
|
||||
}
|
||||
target.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, mapData,false,0,true,count,true,IdentifierBase.AddSkillType.AddLevel,origin.Id);
|
||||
target.AddSkill_Legacy(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, mapData,false,0,true,count,true,SpecialAddSkillType.AddLevel,origin.Id);
|
||||
//target.GetSkill(SkillType.KAGUYAFRENCHSYNERGYDEBUFF, out var debuffSkill);
|
||||
//debuffSkill.AddLevel(mapData, origin, target, count);
|
||||
if (origin.UnitLevel >= 3)
|
||||
|
||||
@ -66,7 +66,7 @@ namespace Logic.Skill
|
||||
if (unit == null || unit == self) continue;
|
||||
if (!unit.TreatedAsHero(mapData,self)) continue;
|
||||
if (!selfUnitList.Contains(unit)) continue;
|
||||
unit.AddSkill_Legacy(SkillType.SAKUYAGUARD, mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.Force,0);
|
||||
unit.AddSkill_Legacy(SkillType.SAKUYAGUARD, mapData,false,1,false,-1,false,SpecialAddSkillType.Force,0);
|
||||
isExcute = true;
|
||||
if (!_heroSet.Contains(unit.Id))
|
||||
{
|
||||
|
||||
@ -56,7 +56,7 @@ namespace Logic.Skill
|
||||
if (unit == null || unit == self) continue;
|
||||
if (!unit.TreatedAsHero(mapData,self)) continue;
|
||||
if (!selfUnitList.Contains(unit)) continue;
|
||||
unit.AddSkill_Legacy(SkillType.SAKUYAGUARD, mapData,false,1,false, -1,false,IdentifierBase.AddSkillType.Force,0);
|
||||
unit.AddSkill_Legacy(SkillType.SAKUYAGUARD, mapData,false,1,false, -1,false,SpecialAddSkillType.Force,0);
|
||||
isExcute = true;
|
||||
}
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ namespace Logic.Skill
|
||||
}
|
||||
else
|
||||
{
|
||||
target.AddSkill_Legacy(skill,mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,origin.Id);
|
||||
target.AddSkill_Legacy(skill,mapData,false,1,false,-1,false,SpecialAddSkillType.AddTurnLimit,origin.Id);
|
||||
if (divine == SanaeDivineType.BigLucky)
|
||||
{
|
||||
BigLucky(mapData, origin,target.Grid(mapData),1.1f * i);
|
||||
@ -99,7 +99,7 @@ namespace Logic.Skill
|
||||
}
|
||||
else
|
||||
{
|
||||
target.AddSkill_Legacy(skill,mapData,false,1,false, -1,false,IdentifierBase.AddSkillType.AddTurnLimit,origin.Id);
|
||||
target.AddSkill_Legacy(skill,mapData,false,1,false, -1,false,SpecialAddSkillType.AddTurnLimit,origin.Id);
|
||||
if (divine == SanaeDivineType.BigLucky)
|
||||
{
|
||||
origin.SetFullAPCPMP_AllSkillRefresh();
|
||||
@ -137,7 +137,7 @@ namespace Logic.Skill
|
||||
else
|
||||
{
|
||||
//skill = SkillType.DIVINE_E4_KILL;
|
||||
info.DamageTarget.AddSkill_Legacy(skill,mapData,false,1,false, -1,false, IdentifierBase.AddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
info.DamageTarget.AddSkill_Legacy(skill,mapData,false,1,false, -1,false, SpecialAddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
if (divine == SanaeDivineType.BigLucky)
|
||||
{
|
||||
BigLucky(mapData, info.DamageOrigin,info.DamageTargetGrid,1.1f * i);
|
||||
@ -165,7 +165,7 @@ namespace Logic.Skill
|
||||
else
|
||||
{
|
||||
//skill = SkillType.DIVINE_E4_KILL;
|
||||
info.DamageTarget.AddSkill_Legacy(skill,mapData,false,1,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
info.DamageTarget.AddSkill_Legacy(skill,mapData,false,1,false,-1,false,SpecialAddSkillType.AddTurnLimit,info.DamageOrigin.Id);
|
||||
if (divine == SanaeDivineType.BigLucky)
|
||||
{
|
||||
info.DamageOrigin.SetFullAPCPMP_AllSkillRefresh();
|
||||
|
||||
@ -39,7 +39,7 @@ namespace Logic.Skill
|
||||
var unit = around.Unit(mapData);
|
||||
if (unit == null || !unit.IsAlive()) continue;
|
||||
if (!mapData.IsLeagueUnitByUnit(unit.Id, self.Id)) continue;
|
||||
unit.AddSkill_Legacy(SkillType.SANAEWINDX, mapData,false,0,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
unit.AddSkill_Legacy(SkillType.SANAEWINDX, mapData,false,0,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
if(self.Player(mapData).PlayerHeroData.GetHeroTask(GiantType.GermanySanae, out var task))
|
||||
task.OnAddSkillLevels(mapData,SkillType.SANAEWINDX,1);
|
||||
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 SatoriBanSkill : SkillBase
|
||||
{
|
||||
public SatoriBanSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SATORIBAN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 263b3615f4a54f3ba5f824b165fb23d2
|
||||
timeCreated: 1772778223
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 SatoriSeeSkill : SkillBase
|
||||
{
|
||||
public SatoriSeeSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SATORISEE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 775cd3d481574e78b27ba1949e13fd21
|
||||
timeCreated: 1772778219
|
||||
@ -33,7 +33,7 @@ namespace Logic.Skill
|
||||
public override void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
{
|
||||
if (info.DamageType != DamageType.ActiveAttack) return;
|
||||
info.DamageOrigin.AddSkill_Legacy(SkillType.ScarletMistRealTimeVampireDebuff,mapData,false,0,false,-1,false, IdentifierBase.AddSkillType.Force,0);
|
||||
info.DamageOrigin.AddSkill_Legacy(SkillType.ScarletMistRealTimeVampireDebuff,mapData,false,0,false,-1,false, SpecialAddSkillType.Force,0);
|
||||
}
|
||||
|
||||
// public override void OnDamageOther(MapData mapData, SettlementInfo info)
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 SkillBanBombSkill : SkillBase
|
||||
{
|
||||
public SkillBanBombSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SKILLBANBOMB;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 442ff135915a42c78059e623b6c61001
|
||||
timeCreated: 1772778233
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 SkillBanSkill : SkillBase
|
||||
{
|
||||
public SkillBanSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.SKILLBAN;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 84cc5c6711f14b1d8678b1cfb744db97
|
||||
timeCreated: 1772778228
|
||||
@ -33,7 +33,7 @@ namespace Logic.Skill
|
||||
if (self == null) return;
|
||||
var grid = self.Grid(mapData);
|
||||
if (grid.Feature != TerrainFeature.Mountain) return;
|
||||
self.AddSkill_Legacy(SkillType.MOVERANGEUP, mapData,false,0,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
self.AddSkill_Legacy(SkillType.MOVERANGEUP, mapData,false,0,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
}
|
||||
|
||||
public override bool ReservedOnTransform(UnitData self, UnitFullType fullType)
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4b6a32be4a814be7bb94d841ed0849a1
|
||||
timeCreated: 1772778339
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 UtsuhoBoneMakerSkill : SkillBase
|
||||
{
|
||||
public UtsuhoBoneMakerSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHOBONEMAKER;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: db55021f01b24becb81ad2b420dfe8dc
|
||||
timeCreated: 1772778350
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 UtsuhoDelayActSkill : SkillBase
|
||||
{
|
||||
public UtsuhoDelayActSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHODELAYACT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: a537917b23414f10af07524eefa1c6ef
|
||||
timeCreated: 1772778333
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4461bc9684a248e1b72b92927d309b16
|
||||
timeCreated: 1772778355
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 UtsuhoRadiationSkill : SkillBase
|
||||
{
|
||||
public UtsuhoRadiationSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.UTSUHORADIATION;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 463ec7403b94474781479d7bee38c583
|
||||
timeCreated: 1772778345
|
||||
@ -37,7 +37,7 @@ namespace Logic.Skill
|
||||
foreach (var grid in roundGrid)
|
||||
{
|
||||
if (!mapData.GetUnitDataByGid(grid.Id, out var unit)) continue;
|
||||
unit.AddSkill(SkillType.SPEEDUP, mapData,false,0,false,-1,false,IdentifierBase.AddSkillType.AddTurnLimit,0);
|
||||
unit.AddSkill(SkillType.SPEEDUP, mapData,false,0,false,-1,false,SpecialAddSkillType.AddTurnLimit,0);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4eb913b1cd2d48b1b62a8d623648700c
|
||||
timeCreated: 1772778364
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf45a4f21ce241b8b67e5977bcd33ee0
|
||||
timeCreated: 1772778373
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 YuugiDashProSkill : SkillBase
|
||||
{
|
||||
public YuugiDashProSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIDASHPRO;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: deb421f51aad462bbfdf7464d238fec7
|
||||
timeCreated: 1772778369
|
||||
@ -0,0 +1,32 @@
|
||||
/*
|
||||
* @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 YuugiPushSkill : SkillBase
|
||||
{
|
||||
public YuugiPushSkill()
|
||||
{
|
||||
IsPermanent = true;
|
||||
TurnsLimit = 0;
|
||||
Score = 4;
|
||||
}
|
||||
|
||||
public override SkillType GetSkillType()
|
||||
{
|
||||
return SkillType.YUUGIPUSH;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6d2b9100e4ab45dba709f1d993928499
|
||||
timeCreated: 1772778359
|
||||
@ -0,0 +1,13 @@
|
||||
// Auto-generated BonePileAttackSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
using Logic.Skill;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class BonePileAttackSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf8b16293b8c9c246b55c7e44d6800ad
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,13 @@
|
||||
// Auto-generated BonePileSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
using Logic.Skill;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class BonePileSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6e2182ccb0923b24e8456bf4068d5730
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,13 @@
|
||||
// Auto-generated CanHideSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
using Logic.Skill;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CanHideSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5a314fab7d840344e910a1cd454b1a3d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,13 @@
|
||||
// Auto-generated CorpseBuffSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
using Logic.Skill;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CorpseBuffSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ee63311a0e4baab468359ce44903c786
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@ -0,0 +1,13 @@
|
||||
// Auto-generated CorpseBurnSkill partial class with MemoryPackable attribute
|
||||
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
|
||||
|
||||
using MemoryPack;
|
||||
using Logic.Skill;
|
||||
|
||||
namespace Logic.Skill
|
||||
{
|
||||
[MemoryPackable]
|
||||
public partial class CorpseBurnSkill
|
||||
{
|
||||
}
|
||||
}
|
||||
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