永远亭阵营 永琳开发

This commit is contained in:
kawagiri 2025-09-16 16:08:41 +08:00
parent 7793b057ee
commit 4f5937cd46
88 changed files with 439 additions and 99 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -1,8 +0,0 @@
fileFormatVersion: 2
guid: d4d8537311babd44c96995feebabbd52
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,114 @@
fileFormatVersion: 2
guid: 61c4250b4714d334aa57c3f0da9d3ac7
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 13
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
flipGreenChannel: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
ignoreMipmapLimit: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 1
wrapV: 1
wrapW: 1
nPOTScale: 0
lightmap: 0
compressionQuality: 50
spriteMode: 1
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 1
spriteTessellationDetail: -1
textureType: 8
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
swizzle: 50462976
cookieLightType: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: 25
textureCompression: 1
compressionQuality: 100
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 1
ignorePlatformSupport: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID: 5e97eb03825dee720800000000000000
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
nameFileIdTable: {}
mipmapLimitGroupName:
pSDRemoveMatte: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -562,3 +562,8 @@ MonoBehaviour:
SkillDesc: "<color=yellow>\u653B\u51FB\u529B</color>\u589E\u52A01\u70B9"
HasShowList: 0
SkillShowList: []
- SkillType: 107
SkillName: "\u98DE\u884C"
SkillDesc: "\u79FB\u52A8\u65F6\u65E0\u89C6\u4EFB\u4F55\u5730\u5F62\u5F71\u54CD"
HasShowList: 0
SkillShowList: []

View File

@ -2957,7 +2957,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 020000000d00000020000000
Skills: 020000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -2977,7 +2977,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000000d00000020000000
Skills: 0200000051000000590000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -2997,7 +2997,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000005a0000000d00000020000000
Skills: 0200000051000000590000005a0000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3017,7 +3017,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000005a0000005b0000000d00000020000000
Skills: 0200000051000000590000005a0000005b0000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []

View File

@ -26,7 +26,7 @@ MonoBehaviour:
DiplomacyUIAnnounceBreakEmbassyPassive: 1727
DiplomacyUINotifyOfferAlly: 1676
DiplomacyUINotifyEmbassy: 1714
DiplomacyUIOtherRelationTitle: 1632
DiplomacyUIOtherRelationTitle: 2013
DiplomacyStateInfoList:
- DiplomacyState: 0
stateText: 1659

View File

@ -12665,4 +12665,46 @@ MonoBehaviour:
EN:
JP:
KR:
- ID: 2013
ZH: "<color=yellow>{param}</color>\u4E0E\u5176\u4ED6\u73A9\u5BB6\u7684\u5173\u7CFB"
TDZH:
EN:
JP:
KR:
- ID: 2014
ZH: "\u79FB\u52A8\u529B\u589E\u52A0"
TDZH:
EN:
JP:
KR:
- ID: 2015
ZH: "<color=yellow>\u79FB\u52A8\u529B</color>\u589E\u52A01\u70B9"
TDZH:
EN:
JP:
KR:
- ID: 2016
ZH: "\u653B\u51FB\u529B\u589E\u52A0"
TDZH:
EN:
JP:
KR:
- ID: 2017
ZH: "<color=yellow>\u653B\u51FB\u529B</color>\u589E\u52A01\u70B9"
TDZH:
EN:
JP:
KR:
- ID: 2018
ZH: "\u98DE\u884C"
TDZH:
EN:
JP:
KR:
- ID: 2019
ZH: "\u79FB\u52A8\u65F6\u65E0\u89C6\u4EFB\u4F55\u5730\u5F62\u5F71\u54CD"
TDZH:
EN:
JP:
KR:
TargetTypes: 0100000001000000010000000100000001000000

View File

@ -552,3 +552,18 @@ MonoBehaviour:
SkillDesc: 1963
HasShowList: 0
SkillShowList: []
- SkillType: 94
SkillName: 2014
SkillDesc: 2015
HasShowList: 0
SkillShowList: []
- SkillType: 20
SkillName: 2016
SkillDesc: 2017
HasShowList: 0
SkillShowList: []
- SkillType: 107
SkillName: 2018
SkillDesc: 2019
HasShowList: 0
SkillShowList: []

View File

@ -2957,7 +2957,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 020000000d00000020000000
Skills: 020000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -2977,7 +2977,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000000d00000020000000
Skills: 0200000051000000590000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -2997,7 +2997,7 @@ MonoBehaviour:
MoveRange: 1
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000005a0000000d00000020000000
Skills: 0200000051000000590000005a0000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []
@ -3017,7 +3017,7 @@ MonoBehaviour:
MoveRange: 2
AttackRange: 2
Cost: 0
Skills: 0200000051000000590000005a0000005b0000000d00000020000000
Skills: 0200000051000000590000005a0000005b0000000d000000200000006b000000
Sprite: {fileID: 21300000, guid: b726d8d6bc92ae54e90e8e32457c53d1, type: 3}
IsSpriteVarient: 0
SpriteList: []

View File

@ -534,6 +534,7 @@ RectTransform:
- {fileID: 431561797}
- {fileID: 1852747701}
- {fileID: 2074009203}
- {fileID: 605738250}
m_Father: {fileID: 1495643936}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
@ -83909,6 +83910,116 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 605611440}
m_CullTransparentMesh: 1
--- !u!1001 &605738249
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 5324378}
m_Modifications:
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_Pivot.x
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_Pivot.y
value: 0.5
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchorMax.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchorMax.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchorMin.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchorMin.y
value: 1
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_SizeDelta.x
value: 50
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_SizeDelta.y
value: 50
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchoredPosition.x
value: 1790.8
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_AnchoredPosition.y
value: -35
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 149595193024331755, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: SkillTpe
value: 107
objectReference: {fileID: 0}
- target: {fileID: 2217762578016407728, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_Name
value: FLY
objectReference: {fileID: 0}
- target: {fileID: 3408785128178809190, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
propertyPath: m_Sprite
value:
objectReference: {fileID: 21300000, guid: 61c4250b4714d334aa57c3f0da9d3ac7, type: 3}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
--- !u!224 &605738250 stripped
RectTransform:
m_CorrespondingSourceObject: {fileID: 100665371080045127, guid: 69227a4e8d126db4b870097d9a5e244f, type: 3}
m_PrefabInstance: {fileID: 605738249}
m_PrefabAsset: {fileID: 0}
--- !u!1 &606982751
GameObject:
m_ObjectHideFlags: 0

View File

@ -135,7 +135,7 @@ public enum SkillType
KAGUYAFRENCHSYNERGYDEBUFF,
NOPOPULATION,
// 2025.9.12新增
// 2025.9.12新增 Demo V1.4
TEWIFRENCHSIGHT,
TEWIFRENCHDIE,
TEWIFRENCHATTACK,
@ -159,6 +159,7 @@ public enum SkillType
REISENFRENCHATTAK,
REISENILLUSIONPRO,
REISENFRENCHKILLPRO,
FLY,
Max,
}

View File

@ -9,6 +9,7 @@ using RuntimeData;
using System;
using System.Collections.Generic;
using MemoryPack;
using TH1_Logic.Core;
namespace Logic.Skill
{
@ -32,19 +33,18 @@ namespace Logic.Skill
if (info == null || !info.IsKill || info.DamageType == DamageType.KillSelf || info.DamageOrigin == null ||
info.DamageTarget == null) return;
if (!mapData.GetGridDataByUnitId(info.DamageOrigin.Id, out var selfGrid)) return;
var aroundGrids = mapData.GridMap.GetAroundGridData(1, 1, selfGrid);
var targetGrid = info.DamageTargetGrid;
if (targetGrid == null) return;
var aroundGrids = mapData.GridMap.GetAroundGridData(1, 1, targetGrid);
if (!mapData.GetPlayerDataByUnitId(info.DamageOrigin.Id, out var originPlayer)) return;
var selfUnits = new HashSet<UnitData>();
mapData.GetUnitDataListByPlayerId(originPlayer.Id, selfUnits);
foreach (var grid in aroundGrids)
{
if (grid == selfGrid) continue;
if (!mapData.GetUnitDataByGid(grid.Id, out var unitData)) continue;
if (unitData == info.DamageOrigin) return;
if (!selfUnits.Contains(unitData)) continue;
unitData.Health += 3;
info.DamageOrigin.HeroTask(mapData)?.OnHealthReturn(mapData, 3);
Main.UnitLogic.RecoverHealth(mapData, info.DamageOrigin, unitData, 3);
}
}
}

View File

@ -0,0 +1,30 @@
/*
* @Author:
* @Description:
* @Date: 20250423 21:04:18
* @Modify:
*/
using System.Collections.Generic;
using RuntimeData;
using System;
using MemoryPack;
namespace Logic.Skill
{
public partial class FlySkill : SkillBase
{
public FlySkill()
{
IsPermanent = true;
TurnsLimit = 0;
}
public override SkillType GetSkillType()
{
return SkillType.FLY;
}
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 2fe2cc04e6cfd2846885814dbd071fd3
timeCreated: 1745414769

View File

@ -0,0 +1,13 @@
// Auto-generated FlySkill partial class with MemoryPackable attribute
// 此文件由 MemoryPackUnionGenerator 自动生成,请勿手动修改
using MemoryPack;
using Logic.Skill;
namespace Logic.Skill
{
[MemoryPackable]
public partial class FlySkill
{
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: e2b7d42fc6f39b24c96353b25e3f177a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -26,79 +26,80 @@ namespace Logic.Skill
[MemoryPackUnion(18, typeof(EirinFrenchKillSkill))]
[MemoryPackUnion(19, typeof(EscapeSkill))]
[MemoryPackUnion(20, typeof(EternitySkill))]
[MemoryPackUnion(21, typeof(ForestDefenseSkill))]
[MemoryPackUnion(22, typeof(FortifySkill))]
[MemoryPackUnion(23, typeof(GalaxyArrowSkill))]
[MemoryPackUnion(24, typeof(HealSkill))]
[MemoryPackUnion(25, typeof(IllusionSkill))]
[MemoryPackUnion(26, typeof(KaguyaFrenchAroundSkill))]
[MemoryPackUnion(27, typeof(KaguyaFrenchAttackProSkill))]
[MemoryPackUnion(28, typeof(KaguyaFrenchAttackSkill))]
[MemoryPackUnion(29, typeof(KaguyaFrenchForeverBuffSkill))]
[MemoryPackUnion(30, typeof(KaguyaFrenchNapoleonicCodeSkill))]
[MemoryPackUnion(31, typeof(KaguyaFrenchSynergyDebuffSkill))]
[MemoryPackUnion(32, typeof(KaguyaFrenchSynergySkill))]
[MemoryPackUnion(33, typeof(LaevatainPreySkill))]
[MemoryPackUnion(34, typeof(LaevatainSkill))]
[MemoryPackUnion(35, typeof(LuckSkill))]
[MemoryPackUnion(36, typeof(MokouFrenchBoomSkill))]
[MemoryPackUnion(37, typeof(MokouFrenchEggSkill))]
[MemoryPackUnion(38, typeof(MokouFrenchReviveSkill))]
[MemoryPackUnion(39, typeof(MoonPrincessSkill))]
[MemoryPackUnion(40, typeof(MountainDefenseSkill))]
[MemoryPackUnion(41, typeof(MountainGodSkill))]
[MemoryPackUnion(42, typeof(MountainMoveSkill))]
[MemoryPackUnion(43, typeof(MoveRangeUpSkill))]
[MemoryPackUnion(44, typeof(NoPopulationSkill))]
[MemoryPackUnion(45, typeof(NuclearFusionSkill))]
[MemoryPackUnion(46, typeof(NuclearSkill))]
[MemoryPackUnion(47, typeof(OceanDefenseSkill))]
[MemoryPackUnion(48, typeof(OceanMoveSkill))]
[MemoryPackUnion(49, typeof(PeaceSkill))]
[MemoryPackUnion(50, typeof(PersistSkill))]
[MemoryPackUnion(51, typeof(PhilostoneSkill))]
[MemoryPackUnion(52, typeof(PhoenixEggSkill))]
[MemoryPackUnion(53, typeof(PhoenixSkill))]
[MemoryPackUnion(54, typeof(PoisonedSkill))]
[MemoryPackUnion(55, typeof(PoorHealthSkill))]
[MemoryPackUnion(56, typeof(PowerUpSkill))]
[MemoryPackUnion(57, typeof(QuartetSkill))]
[MemoryPackUnion(58, typeof(RecycleSkill))]
[MemoryPackUnion(59, typeof(ReisenFrenchAttakSkill))]
[MemoryPackUnion(60, typeof(ReisenFrenchKillSkill))]
[MemoryPackUnion(61, typeof(ReisenIllusionProSkill))]
[MemoryPackUnion(62, typeof(ReisenIllusionSkill))]
[MemoryPackUnion(63, typeof(RengesyouControSkill))]
[MemoryPackUnion(64, typeof(RengesyouSkill))]
[MemoryPackUnion(65, typeof(RotaLFlamesProSkill))]
[MemoryPackUnion(66, typeof(RotaLFlamesSkill))]
[MemoryPackUnion(67, typeof(SatsujinkiSkill))]
[MemoryPackUnion(68, typeof(ScoutSkill))]
[MemoryPackUnion(69, typeof(SneakSkill))]
[MemoryPackUnion(70, typeof(SpeedUpSkill))]
[MemoryPackUnion(71, typeof(SplashSkill))]
[MemoryPackUnion(72, typeof(StaticSkill))]
[MemoryPackUnion(73, typeof(StiffSkill))]
[MemoryPackUnion(74, typeof(StompSkill))]
[MemoryPackUnion(75, typeof(SuperDashSkill))]
[MemoryPackUnion(76, typeof(SuperHideSkill))]
[MemoryPackUnion(77, typeof(SurpriseSkill))]
[MemoryPackUnion(78, typeof(SwapSkill))]
[MemoryPackUnion(79, typeof(TaiChiSkill))]
[MemoryPackUnion(80, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(81, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(82, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(83, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(84, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(85, typeof(ThirdEyeSkill))]
[MemoryPackUnion(86, typeof(TrioSkill))]
[MemoryPackUnion(87, typeof(UniqueSkill))]
[MemoryPackUnion(88, typeof(VampireProSkill))]
[MemoryPackUnion(89, typeof(VampireSkill))]
[MemoryPackUnion(90, typeof(WaterDefenseSkill))]
[MemoryPackUnion(91, typeof(WaterMoveSkill))]
[MemoryPackUnion(92, typeof(WindGodSkill))]
[MemoryPackUnion(93, typeof(WindPriestessSkill))]
[MemoryPackUnion(21, typeof(FlySkill))]
[MemoryPackUnion(22, typeof(ForestDefenseSkill))]
[MemoryPackUnion(23, typeof(FortifySkill))]
[MemoryPackUnion(24, typeof(GalaxyArrowSkill))]
[MemoryPackUnion(25, typeof(HealSkill))]
[MemoryPackUnion(26, typeof(IllusionSkill))]
[MemoryPackUnion(27, typeof(KaguyaFrenchAroundSkill))]
[MemoryPackUnion(28, typeof(KaguyaFrenchAttackProSkill))]
[MemoryPackUnion(29, typeof(KaguyaFrenchAttackSkill))]
[MemoryPackUnion(30, typeof(KaguyaFrenchForeverBuffSkill))]
[MemoryPackUnion(31, typeof(KaguyaFrenchNapoleonicCodeSkill))]
[MemoryPackUnion(32, typeof(KaguyaFrenchSynergyDebuffSkill))]
[MemoryPackUnion(33, typeof(KaguyaFrenchSynergySkill))]
[MemoryPackUnion(34, typeof(LaevatainPreySkill))]
[MemoryPackUnion(35, typeof(LaevatainSkill))]
[MemoryPackUnion(36, typeof(LuckSkill))]
[MemoryPackUnion(37, typeof(MokouFrenchBoomSkill))]
[MemoryPackUnion(38, typeof(MokouFrenchEggSkill))]
[MemoryPackUnion(39, typeof(MokouFrenchReviveSkill))]
[MemoryPackUnion(40, typeof(MoonPrincessSkill))]
[MemoryPackUnion(41, typeof(MountainDefenseSkill))]
[MemoryPackUnion(42, typeof(MountainGodSkill))]
[MemoryPackUnion(43, typeof(MountainMoveSkill))]
[MemoryPackUnion(44, typeof(MoveRangeUpSkill))]
[MemoryPackUnion(45, typeof(NoPopulationSkill))]
[MemoryPackUnion(46, typeof(NuclearFusionSkill))]
[MemoryPackUnion(47, typeof(NuclearSkill))]
[MemoryPackUnion(48, typeof(OceanDefenseSkill))]
[MemoryPackUnion(49, typeof(OceanMoveSkill))]
[MemoryPackUnion(50, typeof(PeaceSkill))]
[MemoryPackUnion(51, typeof(PersistSkill))]
[MemoryPackUnion(52, typeof(PhilostoneSkill))]
[MemoryPackUnion(53, typeof(PhoenixEggSkill))]
[MemoryPackUnion(54, typeof(PhoenixSkill))]
[MemoryPackUnion(55, typeof(PoisonedSkill))]
[MemoryPackUnion(56, typeof(PoorHealthSkill))]
[MemoryPackUnion(57, typeof(PowerUpSkill))]
[MemoryPackUnion(58, typeof(QuartetSkill))]
[MemoryPackUnion(59, typeof(RecycleSkill))]
[MemoryPackUnion(60, typeof(ReisenFrenchAttakSkill))]
[MemoryPackUnion(61, typeof(ReisenFrenchKillSkill))]
[MemoryPackUnion(62, typeof(ReisenIllusionProSkill))]
[MemoryPackUnion(63, typeof(ReisenIllusionSkill))]
[MemoryPackUnion(64, typeof(RengesyouControSkill))]
[MemoryPackUnion(65, typeof(RengesyouSkill))]
[MemoryPackUnion(66, typeof(RotaLFlamesProSkill))]
[MemoryPackUnion(67, typeof(RotaLFlamesSkill))]
[MemoryPackUnion(68, typeof(SatsujinkiSkill))]
[MemoryPackUnion(69, typeof(ScoutSkill))]
[MemoryPackUnion(70, typeof(SneakSkill))]
[MemoryPackUnion(71, typeof(SpeedUpSkill))]
[MemoryPackUnion(72, typeof(SplashSkill))]
[MemoryPackUnion(73, typeof(StaticSkill))]
[MemoryPackUnion(74, typeof(StiffSkill))]
[MemoryPackUnion(75, typeof(StompSkill))]
[MemoryPackUnion(76, typeof(SuperDashSkill))]
[MemoryPackUnion(77, typeof(SuperHideSkill))]
[MemoryPackUnion(78, typeof(SurpriseSkill))]
[MemoryPackUnion(79, typeof(SwapSkill))]
[MemoryPackUnion(80, typeof(TaiChiSkill))]
[MemoryPackUnion(81, typeof(TewiFrenchAttackSkill))]
[MemoryPackUnion(82, typeof(TewiFrenchBuffSkill))]
[MemoryPackUnion(83, typeof(TewiFrenchDieSkill))]
[MemoryPackUnion(84, typeof(TewiFrenchKillSkill))]
[MemoryPackUnion(85, typeof(TewiFrenchSightSkill))]
[MemoryPackUnion(86, typeof(ThirdEyeSkill))]
[MemoryPackUnion(87, typeof(TrioSkill))]
[MemoryPackUnion(88, typeof(UniqueSkill))]
[MemoryPackUnion(89, typeof(VampireProSkill))]
[MemoryPackUnion(90, typeof(VampireSkill))]
[MemoryPackUnion(91, typeof(WaterDefenseSkill))]
[MemoryPackUnion(92, typeof(WaterMoveSkill))]
[MemoryPackUnion(93, typeof(WindGodSkill))]
[MemoryPackUnion(94, typeof(WindPriestessSkill))]
public abstract partial class SkillBase
{
}

View File

@ -465,6 +465,8 @@ namespace Logic
origin.HeroTask(map)?.OnHealthReturn(map,realRecover);
//Step #3 处理View
var grid = target.Grid(map);
if (grid != null) grid.VFXRenderMarkHeal = true;
target.RenderMark = true;
origin.RenderMark = true;
return realRecover;