GBGS6RTZTCKRMLLDVCBGMRTJNNOSAUTXN5D2EMEQMQAREORE54PAC
ZFSIN26KNM3DNHBUA67DKKHQYH62TZ627SNBHPO37IS3AB2XTHEQC
VUAVVMQEUYSXHBIUJHGRX237EZFT5MCB73ZKVWMGJDRHYZH4XZKAC
P5O6MKCMZL3DK7ZO5SBWTCHOQB6O2MZA5VPSCQX6X4LJQVOWYV7AC
HMDPEJRZK3PO6M5Z655Y4HWCUKC5I35GRMVVQOZYXWWCIH5ZWNPQC
4JF64OZ2FPMTXL5XV3Z6HCEKKGCLXPLMNV3YCNX35RL5CXL42VNQC
R475KN7MR3OG7EBLVNOO7QRIKXDGY2PIDXXV3HW4KBD5QM7B5OJQC
2RUZ7TTRT7SMZT2V7YWUCCTJJXNRT2LNJ2QBBVN4RMREMOGMGMHQC
UBKE7KXKA35CBKZLD366TUQXK72GYT7RLPEMMLCR4XC3TLMXD7EQC
DTKCWM4J7PFNWAAES3RZHQGDA6PTDNX4TZVOXAKF5V7LCZBI3XUAC
B2LNJNFTE27FCZUPR4YTVTFERSRYIUEF4L27NDAKNRPMAJY7KKNAC
RJXFDWT7OWTX3DQ7SBJFK6M66AQ2LGGIO32QD6G7VTJJS7U2R7XQC
HDXZWK64UDKEV5JBETQK6KMT5RXW5XPDU3YY4HLBCGP5XA6727BQC
426KOWJWOX7ZE24UIJCIHRI5KUZYO6NIGK7KC2HOONFDX242UYIQC
TKLR43RQKXB47J2YVVSJ7CAZAJZYOKXSDUXAUOVQMFUN73KZVUVQC
ROTMK5LNNK7T5YXVOMUODVMCQWIHPZYOME4WDIAMZJ4VXD7SOEBAC
FQZF2IY4T2F7KEVSHMFID35WNAU55CRRDF6XEXZB7PYZH26UGYPQC
L4TF5YRRHYUPEAF72DU2GO3PBK5CXXHPYZB5SX3NRCUN6AQELH2QC
JLT7KOJ5QGXMRLXQXOHDTF62W3EGPX7XTHNEYAKGMJKK3V4QUPGQC
CD5FF75KTOBTMVMTMCKMR6F5DFKOF26I5K43ITNHGBI3ZAZHA4RAC
HXTSBPAP75A7EC4RKWYQMVPPHPNZFPHUORBZWDHGEB6MPAGI7G7AC
fileFormatVersion: 2
guid: a50932add4e43a644b34e62fe4620e3f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections.Generic;
using TagFighter.Resources;
using UnityEngine;
namespace TagFighter.Effects
{
{
where TResource : Resource<TUnit>
where TResource : Resource<TUnit>
}
}
where TUnit : IUnitType;
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TUnit : IUnitType;
}
public interface IResourceSet : IResourceAccessor
{
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
public interface IResourceAccessor {}
public interface IResourceGet : IResourceAccessor
public IEnumerable<float> Get(EffectContext context, IEnumerable<Transform> affected, IResourceGet accessor);
public void Set(EffectContext context, IEnumerable<Transform> affected, IResourceSet accessor, IEnumerable<int> value);
public IEnumerable<double> Get(EffectContext context, IEnumerable<Transform> affected, IResourceLocationGet accessor);
public void Set(EffectContext context, IEnumerable<Transform> affected, IResourceLocationSet accessor, IEnumerable<int> value);
public IEnumerable<float> Get(EffectContext context, IEnumerable<Transform> affected, IResourceGet accessor) {
return accessor.Get<TResource, TUnit>(context, affected).Select(resource => (float)resource);
public IEnumerable<double> Get(EffectContext context, IEnumerable<Transform> affected, IResourceLocationGet accessor) {
return accessor.Get<TResource, TUnit>(context, affected).Select(resource => (double)resource);
namespace Get
{
[Serializable]
public class Pawn : IResourceGet
{
[SerializeReference, ShowSerializeReference]
IPawnResourceProperty Property;
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
return affected.Select(transform => transform.GetComponent<TResource>())
.Select(resource => resource ? Property.Get<TResource, TUnit>(resource) : (Unit<TUnit>)0);
}
namespace Get
{
using PawnProperties;
public override string ToString() => $"{nameof(Pawn)}.{Property}";
[Serializable]
public class Pawn : IResourceLocationGet
{
[SerializeReference, ShowSerializeReference]
IPawnResourceProperty Property;
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
return affected.Select(transform => transform.GetComponent<TResource>())
.Select(resource => resource ? Property.Get<TResource, TUnit>(resource) : (Unit<TUnit>)0);
[Serializable]
public class Pawn : IResourceSet
{
[SerializeReference, ShowSerializeReference]
IPawnResourceProperty Property;
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
var repeatedValues = Enumerable.Repeat(values.ToList(), int.MaxValue).SelectMany(value => value );
foreach (var tuple in affected.Zip(repeatedValues, (transform, value) => (resource: transform.GetComponent<TResource>(), value))
.Where(tuple => tuple.resource)) {
Property.Set(tuple.resource, tuple.value);
}
[SerializeReference, ShowSerializeReference]
IPawnResourceProperty Property;
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
var repeatedValues = Enumerable.Repeat(values.ToList(), int.MaxValue).SelectMany(value => value);
foreach (var tuple in affected.Zip(repeatedValues, (transform, value) => (resource: transform.GetComponent<TResource>(), value))
.Where(tuple => tuple.resource)) {
Property.Set(tuple.resource, tuple.value);
fileFormatVersion: 2
guid: a50932add4e43a644b34e62fe4620e3f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections.Generic;
using TagFighter.Resources;
using UnityEngine;
namespace TagFighter.Effects
{
public interface IResourceLocationAccessor {}
public interface IResourceLocationGet : IResourceLocationAccessor
{
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
where TResource : Resource<TUnit>
where TUnit : IUnitType;
}
public interface IResourceLocationSet : IResourceLocationAccessor
{
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TResource : Resource<TUnit>
where TUnit : IUnitType;
}
}
[Serializable]
public class Context : IResourceGet
{
[SerializeReference, ShowSerializeReference]
IContextRegister Register;
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
return Register.Get<TResource, TUnit>(context);
}
public override string ToString() => $"{nameof(Context)}.{Register}";
[SerializeReference, ShowSerializeReference]
IContextRegister Register;
public IEnumerable<Unit<TUnit>> Get<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
return Register.Get<TResource, TUnit>(context);
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
Register.Set<TResource, TUnit>(context, SetAs.OperateEnum(values));
}
public void Set<TResource, TUnit>(EffectContext context, IEnumerable<Transform> affected, IEnumerable<Unit<TUnit>> values)
where TResource : Resource<TUnit>
where TUnit : IUnitType {
Register.Set<TResource, TUnit>(context, SetAs.OperateEnum(values));
}
effect.Apply(context, _areaOfEffect.GetAffectedUnits(context.EffectLocation));
context.EffectSystem.ApplyTagsEffect(null, context.EffectLocation, _areaOfEffect);
effect.Apply(context, areaOfEffect.GetAffectedUnits(context.EffectLocation));
context.EffectSystem.ApplyTagsEffect(null, context.EffectLocation, areaOfEffect);
context.AreaOfEffect = _areaOfEffect.ShallowCopy();
context.AreaOfEffect = Shape.AreaOfEffect(context, affected);
}
}
namespace AoeShapes
{
public interface IAoeShape
{
public IAreaOfEffect AreaOfEffect(EffectContext context, IEnumerable<Transform> affected);
}
[Serializable]
public class Single : IAoeShape
{
SingleTarget _areaOfEffect;
public IAreaOfEffect AreaOfEffect(EffectContext context, IEnumerable<Transform> affected) {
return _areaOfEffect.ShallowCopy();
}
}
[Serializable]
public class Circle : IAoeShape
{
public ResourceInfoGet<IResourceTypeAccessor, ResourceLocationAccessors.Get.Context> Radius;
CircleArea _areaOfEffect;
public IAreaOfEffect AreaOfEffect(EffectContext context, IEnumerable<Transform> affected) {
// Currently only getting from context, so it's a size 1 enumarable
_areaOfEffect.Radius = (float)Radius.Get(context, affected).First();
return _areaOfEffect.ShallowCopy();
}
}
[Serializable]
public class Cone : IAoeShape
{
public ResourceInfoGet<IResourceTypeAccessor, ResourceLocationAccessors.Get.Context> Radius;
public ResourceInfoGet<IResourceTypeAccessor, ResourceLocationAccessors.Get.Context> Angle;
ConeArea _areaOfEffect;
public IAreaOfEffect AreaOfEffect(EffectContext context, IEnumerable<Transform> affected) {
// Currently only getting from context, so it's a size 1 enumarable
_areaOfEffect.Radius = (float)Radius.Get(context, affected).First();
_areaOfEffect.Angle = (float)Angle.Get(context, affected).First();
return _areaOfEffect.ShallowCopy();
}
}
[Serializable]
public class Path : IAoeShape
{
public ResourceInfoGet<IResourceTypeAccessor, ResourceLocationAccessors.Get.Context> Radius;
public ResourceInfoGet<IResourceTypeAccessor, ResourceLocationAccessors.Get.Context> Length;
PathArea _areaOfEffect;
public IAreaOfEffect AreaOfEffect(EffectContext context, IEnumerable<Transform> affected) {
// Currently only getting from context, so it's a size 1 enumarable
_areaOfEffect.Radius = (float)Radius.Get(context, affected).First();
_areaOfEffect.Length = (float)Length.Get(context, affected).First();
return _areaOfEffect.ShallowCopy();
}
public ResourceInfoGet FromA;
public ResourceInfoGet FromB;
public ResourceInfoSet To;
public ResourceInfoGet<IResourceTypeAccessor,IResourceLocationGet> FromA;
public ResourceInfoGet<IResourceTypeAccessor,IResourceLocationGet> FromB;
public ResourceInfoSet<IResourceTypeAccessor,IResourceLocationSet> To;
- rid: 7043444504695668744
type: {class: AoeEffect, ns: TagFighter.Effects, asm: Assembly-CSharp}
data:
_areaOfEffect:
rid: 7043444504695668755
- rid: 7043444504695668755
type: {class: CircleArea, ns: , asm: Assembly-CSharp}
data:
Radius: 15
- rid: 7043444593006739478
type: {class: Context, ns: TagFighter.Effects.Context.Set, asm: Assembly-CSharp}
- rid: 7043444593006739501
type: {class: Max, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739527
type: {class: BlueTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739528
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Get, asm: Assembly-CSharp}
data:
Property:
rid: 7043444593006739529
- rid: 7043444593006739529
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739530
type: {class: GreenTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739531
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Get, asm: Assembly-CSharp}
data:
Property:
rid: 7043444593006739532
- rid: 7043444593006739532
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739533
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739534
type: {class: Context, ns: TagFighter.Effects.ResourceLocationAccessors.Set,
asm: Assembly-CSharp}
rid: 7043444593006739498
- rid: 7043444593006739479
type: {class: Current, ns: TagFighter.Effects.Context, asm: Assembly-CSharp}
- rid: 7043444593006739481
type: {class: Context, ns: TagFighter.Effects.Context.Get, asm: Assembly-CSharp}
rid: 7043444593006739536
- rid: 7043444593006739535
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.ContextRegisters,
asm: Assembly-CSharp}
- rid: 7043444593006739536
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739537
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739540
type: {class: Context, ns: TagFighter.Effects.ResourceLocationAccessors.Get,
asm: Assembly-CSharp}
rid: 7043444593006739482
- rid: 7043444593006739482
type: {class: Current, ns: TagFighter.Effects.Context, asm: Assembly-CSharp}
- rid: 7043444593006739483
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Get, asm: Assembly-CSharp}
rid: 7043444593006739541
- rid: 7043444593006739541
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.ContextRegisters,
asm: Assembly-CSharp}
- rid: 7043444593006739542
type: {class: Fatigue, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739543
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Set, asm: Assembly-CSharp}
rid: 7043444593006739484
- rid: 7043444593006739484
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739494
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Get, asm: Assembly-CSharp}
rid: 7043444593006739544
- rid: 7043444593006739544
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739575
type: {class: AoeEffect, ns: TagFighter.Effects, asm: Assembly-CSharp}
Property:
rid: 7043444593006739495
- rid: 7043444593006739495
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739496
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Set, asm: Assembly-CSharp}
Shape:
rid: 7043444593006739579
- rid: 7043444593006739579
type: {class: Circle, ns: TagFighter.Effects.AoeShapes, asm: Assembly-CSharp}
Property:
rid: 7043444593006739497
- rid: 7043444593006739497
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739498
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739501
type: {class: Max, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739504
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739506
type: {class: Fatigue, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739515
type: {class: BlueTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739516
type: {class: GreenTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739517
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739520
Radius:
Resource:
rid: 7043444593006739582
Location:
rid: 7043444593006739583
Multiplier: 1
Addend: 15
- rid: 7043444593006739582
- rid: 7043444593006739521
type: {class: Fatigue, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739583
type: {class: Context, ns: TagFighter.Effects.ResourceLocationAccessors.Get,
asm: Assembly-CSharp}
data:
Register:
rid: 7043444593006739584
- rid: 7043444593006739584
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.ContextRegisters,
asm: Assembly-CSharp}
- rid: 7043444593006739592
type: {class: DelayedEffect, ns: TagFighter.Effects, asm: Assembly-CSharp}
- rid: 7043444593006739473
type: {class: Context, ns: TagFighter.Effects.Context.Set, asm: Assembly-CSharp}
- rid: 7043444593006739545
type: {class: GreenTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739546
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Get, asm: Assembly-CSharp}
data:
Property:
rid: 7043444593006739547
- rid: 7043444593006739547
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739548
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739549
type: {class: Context, ns: TagFighter.Effects.ResourceLocationAccessors.Set,
asm: Assembly-CSharp}
rid: 7043444593006739499
- rid: 7043444593006739474
type: {class: Current, ns: TagFighter.Effects.Context, asm: Assembly-CSharp}
- rid: 7043444593006739476
type: {class: Context, ns: TagFighter.Effects.Context.Get, asm: Assembly-CSharp}
rid: 7043444593006739551
- rid: 7043444593006739550
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.ContextRegisters,
asm: Assembly-CSharp}
- rid: 7043444593006739551
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739552
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739553
type: {class: Context, ns: TagFighter.Effects.ResourceLocationAccessors.Get,
asm: Assembly-CSharp}
rid: 7043444593006739477
- rid: 7043444593006739477
type: {class: Current, ns: TagFighter.Effects.Context, asm: Assembly-CSharp}
- rid: 7043444593006739485
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Get, asm: Assembly-CSharp}
rid: 7043444593006739554
- rid: 7043444593006739554
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.ContextRegisters,
asm: Assembly-CSharp}
- rid: 7043444593006739555
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739556
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Get, asm: Assembly-CSharp}
rid: 7043444593006739486
- rid: 7043444593006739486
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739487
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Get, asm: Assembly-CSharp}
rid: 7043444593006739557
- rid: 7043444593006739557
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739558
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739559
type: {class: Pawn, ns: TagFighter.Effects.ResourceLocationAccessors.Set, asm: Assembly-CSharp}
rid: 7043444593006739488
- rid: 7043444593006739488
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739492
type: {class: Pawn, ns: TagFighter.Effects.Pawn.Set, asm: Assembly-CSharp}
rid: 7043444593006739560
- rid: 7043444593006739560
type: {class: Current, ns: TagFighter.Effects.ResourceLocationAccessors.PawnProperties,
asm: Assembly-CSharp}
- rid: 7043444593006739561
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739580
type: {class: AoeEffect, ns: TagFighter.Effects, asm: Assembly-CSharp}
data:
_areaOfEffect:
rid: -2
Shape:
rid: 7043444593006739581
- rid: 7043444593006739581
type: {class: Circle, ns: TagFighter.Effects.AoeShapes, asm: Assembly-CSharp}
Property:
rid: 7043444593006739493
- rid: 7043444593006739493
type: {class: Current, ns: TagFighter.Effects.Pawn, asm: Assembly-CSharp}
- rid: 7043444593006739499
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739500
type: {class: Sum, ns: TagFighter.Effects.Operators, asm: Assembly-CSharp}
- rid: 7043444593006739508
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739511
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739512
type: {class: GreenTag, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739513
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739514
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739518
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
- rid: 7043444593006739519
type: {class: Pain, ns: TagFighter.Effects.ResourceTypeAccessors, asm: Assembly-CSharp}
Radius:
Resource:
rid: -2
Location:
rid: -2
Multiplier: 1
Addend: 15