EA 23.297 Nightly Patch 1
April 20, 2026
19 files modified. 1 new file created.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
LayerPixelPaint (2)
public override void OnInit()
private void Update() public void SetCanvas(TraitCanvas c)
public void DialogLoad(Action onLoad = null) AI_Idle
public override IEnumerable<Status> Run()
{
owner.UseAbility(8794, owner);
}
if (EClass.rnd(10) == 0 && owner.HasElement(1427) && owner.mimicry == null)
if (EClass.rnd((!(owner.id == "unseenhand")) ? 10 : (owner.isSummon ? 9999 : 2)) == 0 && owner.HasElement(1427) && owner.mimicry == null)
{
owner.UseAbility(8796, owner);
}public override IEnumerable<Status> Run()
{
owner.DoHostileAction(c, immediate: true);
c.pos.TryWitnessCrime(owner, c);
owner.RemoveCondition<ConTransmuteHuman>();
if (owner.mimicry != null)
{
owner.mimicry.RevealMimicry(c, surprise: true);
}
});
}
}ActEffect
public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
Debug.Log(text2);
}
num4 = dice.Roll();
Debug.Log(id.ToString() + "/" + text2 + "/" + power + "/" + actref.act?.ToString() + "/" + dice?.ToString() + "/" + num4);
switch (id)
{
case EffectId.Earthquake:void AddCon<T>(int rate, int power) where T : Condition
{
CC.Say("spell_hand_miss", CC, element.Name.ToLower());
}
if (id == EffectId.Sword && CC.ExistsOnMap)
{
CC.ModExp(101, 50);
}
return;
}
case EffectId.Arrow:Card
public void DamageHP(long dmg, int ele, int eleP = 100, AttackSource attackSourc
Rand.SetSeed();
}
Die(e, origin, attackSource, originalTarget);
if (origin != null && origin.id == "unseenhand" && !origin.IsGlobal)
{
origin.isSummon = true;
origin.c_summonDuration = 4;
}
if (trait.CanBeSmashedToDeath && !EClass._zone.IsUserZone)
{
Rand.SetSeed(uid);CardActor
public virtual void RefreshSprite()
if (owner.trait is TraitCanvas traitCanvas)
{
sr2.transform.SetLocalScale(traitCanvas.Scale, traitCanvas.Scale, 1f);
mpb2.SetFloat("_PortraitFilterStrength", traitCanvas.UsePortraitFilter ? 1 : 0);
}
}
elseCardRenderer
{
AddExtra(idExtra);
}
if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember())
if (isChara && owner.rarity >= Rarity.Legendary && owner.rarity != Rarity.Artifact && !owner.Chara.IsHomeMember() && !owner.HasCondition<ConBaseTransmuteMimic>())
{
if (owner.c_bossType == BossType.Evolved)
{Chara
public bool UseAbility(Act a, Card tc = null, Point pos = null, bool pt = false)
{
ModExp(a.id, spellExp);
}
if (a.source.alias.StartsWith("sword_"))
{
ModExp(101, 50);
}
}
ActEffect.RapidCount = 0;
if (flag3 && !a.source.tag.Contains("keepInvisi") && EClass.rnd(2) == 0)DOMAIN
public const int domLuck = 810;
public const int domHarmony = 815;
public const int domOblivion = 813;
public const int domEarth = 812;
public const int domFaith = 802;
public const int domEyth = 814;
public const int domHarmony = 815;
public const int domArcane = 804;
public const int domMiracle = 803;
public const int domOblivion = 813;
public const int domEyth = 814;
public const int domComm = 805;
public static readonly int[] IDS = new int[16]
{
800, 810, 815, 812, 801, 811, 802, 814, 804, 809,
808, 807, 806, 803, 813, 805
800, 810, 813, 812, 801, 811, 802, 815, 804, 809,
808, 807, 806, 803, 814, 805
};
}
public class Domain : EClassELEMENT
public const int _void = 0;
public const int d = 3;
public const int socket = 5;
public const int lv = 1;
public const int quality = 2;
public const int socket = 5;
public const int d = 3;
public const int nutrition = 10;
public const int growth = 14;
public const int heat = 16;
public const int water = 15;
public const int decay = 17;
public const int taste = 18;
public const int water = 15;
public const int heat = 16;
public const int fire = 21; public static readonly int[] IDS = new int[36]
{
759, 756, 755, 761, 753, 752, 751, 750, 762, 763,
765, 760, 754, 0, 3, 1, 2, 5, 10, 11,
12, 13, 14, 16, 17, 18, 15, 21, 22, 23,
765, 760, 754, 0, 5, 1, 2, 3, 10, 11,
12, 13, 14, 15, 17, 18, 16, 21, 22, 23,
24, 25, 26, 29, 85, 20
};
}ENC
public class ENC
{
public const int onlyPet = 655;
public const int noDamage = 654;
public const int living = 653;
public const int r_mana = 641;
public const int mod_frustration = 624;
public const int r_life = 640;
public const int onlyPet = 655;
public const int r_DV = 650;
public const int permaCurse = 656;
public const int convertLightning = 852;
public const int r_life = 640;
public const int absorbMP = 661;
public const int absorbHP = 660;
public const int convertLightning = 852;
public const int absorbSP = 662;
public const int convertFire = 850;
public const int mod_feint = 623;
public const int mod_frustration = 624;
public const int convertImpact = 865;
public const int absorbHP = 660;
public const int convertHoly = 864;
public const int mod_cleave = 622;
public const int absorbMP = 661;
public const int mod_feint = 623;
public const int convertCold = 851;
public const int mod_chaser = 620;
public const int mod_flurry = 621;
public const int negateParalysis = 422;
public const int negateShockwave = 430;
public const int negateBlind = 421;
public const int negateSunburn = 431;
public const int sanctified = 432;
public const int defense_range = 435;
public const int guts = 436;
public const int sustain_PER = 443;
public const int sanctified = 432;
public const int sustain_LER = 444;
public const int negatePoison = 420;
public const int negateBlind = 421;
public const int encTail = 419;
public const int sustain_WIL = 445;
public const int negatePoison = 420;
public const int innocence = 418;
public const int mod_flurry = 621;
public const int mod_cleave = 622;
public const int basher = 381;
public const int counter = 380;
public const int rusher = 382;
public const int loving = 417;
public const int sustain_LER = 444;
public const int encTail = 419;
public const int sustain_WIL = 445;
public const int sustain_MAG = 446;
public const int counter = 380;
public const int basher = 381;
public const int sustain_figure = 450;
public const int sustain_CHA = 447;
public const int mod_drill = 606;
public const int mod_precision = 605;
public const int slot_rune = 484;
public const int nonLethal = 485;
public const int safetyMeasure = 486;
public const int mod_rapid = 602;
public const int sustain_MAG = 446;
public const int mod_ammo_knockback = 603;
public const int mod_ammo_recover = 604;
public const int mod_talisman = 609;
public const int bane_god = 466;
public const int mod_ammo_recover = 604;
public const int sustain_figure = 450;
public const int mod_precision = 605;
public const int force_weapon = 482;
public const int bane_fish = 467;
public const int bane_dragon = 460;
public const int mod_talisman = 609;
public const int optimizeMana = 483;
public const int bane_undead = 461;
public const int revealFaith = 481;
public const int strongStomach = 480;
public const int mod_chaser = 620;
public const int bane_fairy = 462;
public const int bane_all = 468;
public const int force_weapon = 482;
public const int bane_fish = 467;
public const int revealFaith = 481;
public const int optimizeMana = 483;
public const int strongStomach = 480;
public const int bane_animal = 463;
public const int bane_all = 468;
public const int slot_rune = 484;
public const int bane_man = 464;
public const int bane_machine = 465;
public static readonly int[] IDS = new int[107]
public const int bane_god = 466;
public static readonly int[] IDS = new int[108]
{
654, 653, 652, 651, 641, 624, 640, 655, 650, 656,
852, 661, 662, 663, 664, 665, 666, 667, 850, 623,
865, 660, 622, 851, 620, 422, 423, 424, 425, 426,
427, 428, 429, 430, 421, 431, 435, 436, 437, 438,
439, 440, 441, 442, 443, 432, 420, 419, 418, 621,
381, 382, 383, 400, 401, 402, 403, 404, 405, 406,
407, 408, 409, 410, 411, 412, 414, 415, 416, 417,
444, 445, 380, 447, 608, 607, 606, 605, 484, 485,
486, 487, 488, 489, 490, 491, 600, 601, 602, 446,
603, 604, 466, 450, 482, 460, 609, 461, 481, 480,
462, 468, 467, 483, 463, 464, 465
655, 654, 653, 652, 651, 641, 650, 656, 640, 660,
852, 662, 663, 664, 665, 666, 667, 850, 624, 865,
864, 661, 623, 851, 621, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 435, 436, 437, 438,
439, 440, 441, 442, 443, 444, 421, 445, 420, 418,
622, 380, 382, 383, 400, 401, 402, 403, 404, 405,
406, 407, 408, 409, 410, 411, 412, 414, 415, 416,
417, 419, 446, 381, 450, 447, 608, 607, 606, 485,
486, 487, 488, 489, 490, 491, 600, 601, 602, 603,
609, 604, 605, 467, 460, 483, 461, 620, 462, 482,
481, 480, 463, 468, 484, 464, 465, 466
};
}EffectId
ChangeRarity = 315,
ChangeAlias = 316,
ChangeBiography = 317,
Degenerate = 318
Degenerate = 318,
MassFear = 319
}LayerEditPCC
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class LayerEditPCC : ELayerpublic void OnClickPartPicker(UIItemPCC uiItemPcc)
public override void OnKill()
{
Apply();
foreach (Layer item in ELayer.ui.layers.Where((Layer l) => l is LayerPickPCC).ToList())
{
item.Close();
}
}
private void Update()LayerPickPCC
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using Empyrean.Utils;
using UnityEngine;
using UnityEngine.UI; ModItem<Texture2D> modItem = part.modTextures.TryGetValue("walk");
if (modItem == null)
{
break;
UnityEngine.Object.Destroy(item.gameObject);
continue;
}
item.button.tooltip.lang = GetPartProviderString(part);
item.button.onClick.AddListener(delegate SetOutline(item.outline);
});
item.SetSprites(IO.LoadPNG(modItem.fileInfo.FullName));
HSVColor hsv = _uiPcc.pcc.data.GetColor(_uiItemPcc.idPartSet).ToHsv();
hsv.v = 1f;
hsv.a = 1f;
item.button.icon.color = hsv.ToRGB();
Color color = _uiPcc.pcc.data.GetColor(_uiItemPcc.idPartSet);
item.button.icon.color = _uiPcc.pccm.ApplyColorMod(color);
}
_items.Add(item);
}LayerPixelPaint
using System;
using Empyrean.ColorPicker;
using SFB;
using UnityEngine;
using UnityEngine.UI;public class LayerPixelPaint : ELayer
public Action onApply;
public override void OnInit()
private void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
Close();
}
}
public void SetCanvas(TraitCanvas c)
{
onApply = delegate
{
c.owner.PlaySound(c.owner.material.GetSoundImpact());
c.owner.renderer.PlayAnime(AnimeID.Shiver);
Thing thing = c.owner.Split(1);
thing.c_textureData = paint.tex.EncodeToPNG();
thing.isModified = true;
thing.ClearPaintSprite();
thing.GetPaintSprite();
thing.renderer.RefreshSprite();
Close();
};
paint.size = new Vector2Int(c.Width, c.Height);
InitPaint();
if (c.owner.c_textureData != null)
{
paint.tex.LoadImage(c.owner.c_textureData);
}
paint.imageMask.texture = c.owner.GetSprite().texture;
paint.imageMask.SetNativeSize();
paint.imagePreview.SetNativeSize();
}
public void InitPaint()
{
UIItem t = layoutColors.CreateMold<UIItem>();
for (int i = 0; i < 8; i++) {
onApply?.Invoke();
});
windows[0].AddBottomButton("loadImage", delegate
{
DialogLoad(delegate
{
});
});
windows[0].AddBottomButton("cancel", delegate
{
Close(); paint.Init();
}
public void SetCanvas(TraitCanvas c)
public void DialogLoad(Action onLoad = null)
{
onApply = delegate
ELayer.core.WaitForEndOfFrame(delegate
{
c.owner.PlaySound(c.owner.material.GetSoundImpact());
c.owner.renderer.PlayAnime(AnimeID.Shiver);
Thing thing = c.owner.Split(1);
thing.c_textureData = paint.tex.EncodeToPNG();
thing.isModified = true;
thing.ClearPaintSprite();
thing.GetPaintSprite();
thing.renderer.RefreshSprite();
Close();
};
if (c.owner.c_textureData != null)
{
paint.tex.LoadImage(c.owner.c_textureData);
}
paint.imageMask.texture = c.owner.GetSprite().texture;
paint.imageMask.SetNativeSize();
paint.imagePreview.SetNativeSize();
string[] array = StandaloneFileBrowser.OpenFilePanel("Load PNG Image", CorePath.CustomDrawing, "png", multiselect: false);
if (array.Length != 0)
{
Texture2D texture2D = IO.LoadPNG(array[0]);
if (texture2D != null)
{
int num = (paint.size.x - texture2D.width) / 2;
int num2 = (paint.size.y - texture2D.height) / 2;
if (num < 0)
{
num = 0;
}
if (num2 < 0)
{
num2 = 0;
}
for (int i = 0; i < texture2D.height && i < paint.size.y; i++)
{
for (int j = 0; j < texture2D.width && j < paint.size.x; j++)
{
paint.tex.SetPixel(num + j, num2 + i, texture2D.GetPixel(j, i));
}
}
paint.tex.Apply();
SE.Change();
UnityEngine.Object.Destroy(texture2D);
}
}
});
}
}SPELL
public const int bit_Sound = 51107;
public const int sword_Void = 51016;
public const int sword_Sound = 51007;
public const int puddle_Sound = 50907;
public const int sword_Void = 51016;
public const int weapon_Sound = 50807;
public const int miasma_Sound = 50707;
public const int flare_Nether = 51206;
public const int funnel_Void = 50616;
public const int bit_Nether = 51106;
public const int sword_Nether = 51006;
public const int funnel_Void = 50616;
public const int hand_Poison = 50405;
public const int bolt_Poison = 50305;
public const int puddle_Void = 50916;
public const int bolt_Mind = 50304;
public const int ball_Poison = 50105;
public const int flare_Mind = 51204;
public const int bolt_Mind = 50304;
public const int arrow_Poison = 50505;
public const int bit_Mind = 51104;
public const int ball_Nether = 50106;
public const int weapon_Void = 50816;
public const int flare_Poison = 51205;
public const int bit_Poison = 51105;
public const int weapon_Void = 50816;
public const int sword_Poison = 51005;
public const int puddle_Poison = 50905;
public const int miasma_Impact = 50715;
public const int weapon_Chaos = 50810;
public const int miasma_Chaos = 50710;
public const int sword_Impact = 51015;
public const int bit_Impact = 51115;
public const int ball_Void = 50116;
public const int weapon_Chaos = 50810;
public const int miasma_Chaos = 50710;
public const int puddle_Chaos = 50910;
public const int puddle_Impact = 50915;
public const int funnel_Chaos = 50610;
public const int bolt_Impact = 50315;
public const int puddle_Impact = 50915;
public const int puddle_Chaos = 50910;
public const int bit_Chaos = 51110;
public const int weapon_Ether = 50812;
public const int SpTransmutePutit = 8791;
public const int SpTransmuteBroom = 8790;
public const int flare_Darkness = 51203;
public const int SpHero = 8504;
public const int SpHealCritical = 8402;
public const int SpResEle = 8506;
public const int SpSpeedUp = 8510;
public const int SpBreath = 8507;
public const int SpTransmuteBroom = 8790;
public const int SpSpeedUp = 8510;
public const int SpIncognito = 8780;
public const int SpTelepathy = 8770;
public const int SpMassFear = 8721;
public const int SpFear = 8720;
public const int SpSpeedDown = 8710;
public const int SpGravity = 8708;
public const int SpHealCritical = 8402;
public const int SpBerserk = 8707;
public const int SpGravity = 8708;
public const int SpBane = 8706;
public const int SpRebirth = 8550;
public const int SpBreath = 8507;
public const int SpBerserk = 8707;
public const int SpHealHeavy = 8401;
public const int SpTransmutePutit = 8791;
public const int SpHealLight = 8400;
public const int SpHealHeavy = 8401;
public const int SpWish = 8390;
public const int SpFaith = 8281;
public const int SpTransmuteCat = 8792;
public const int SpHealLight = 8400;
public const int SpLighten = 8280;
public const int ball_Mind = 50104;
public const int SpDarkness = 8800;
public const int SpSummon = 9000;
public const int SpTransmuteCat = 8792;
public const int bolt_Lightning = 50302;
public const int SpWeb = 8801;
public const int ball_Lightning = 50102;
public const int bit_Fire = 51100;
public const int hand_Lightning = 50402;
public const int sword_Fire = 51000;
public const int bolt_Lightning = 50302;
public const int hand_Lightning = 50402;
public const int arrow_Lightning = 50502;
public const int miasma_Lightning = 50702;
public const int funnel_Lightning = 50602;
public const int bit_Darkness = 51103;
public const int arrow_Darkness = 50503;
public const int hand_Darkness = 50403;
public const int puddle_Fire = 50900;
public const int bolt_Darkness = 50303;
public const int hand_Darkness = 50403;
public const int ball_Darkness = 50103;
public const int weapon_Lightning = 50802;
public const int funnel_Lightning = 50602;
public const int miasma_Lightning = 50702;
public const int puddle_Fire = 50900;
public const int bolt_Darkness = 50303;
public const int weapon_Fire = 50800;
public const int SpDarkness = 8800;
public const int miasma_Fire = 50700;
public const int weapon_Fire = 50800;
public const int SpSummonDragon = 9054;
public const int funnel_Fire = 50600;
public const int SpSummonMachine = 9053;
public const int SpSummonUndeadSister = 9001;
public const int SpSummon = 9000;
public const int SpSummonDragon = 9054;
public const int SpSummonUndead = 9055;
public const int SpSummonImotoroid = 9056;
public const int SpMeteor = 9150;
public const int SpEarthquake = 9151;
public const int funnel_Fire = 50600;
public const int arrow_Fire = 50500;
public const int hand_Fire = 50400;
public const int FieldSpider = 10000;
public const int SpWeb = 8801;
public const int SpDrawBacker = 9503;
public const int SpDrawMonster = 9501;
public const int miasma_Fire = 50700;
public const int SpDrawMetal = 9502;
public const int SpWardMonster = 9500;
public const int SpMoonSpear = 9155;
public const int SpDrawMetal = 9502;
public const int SpEarthquake = 9151;
public const int SpDrawMonster = 9501;
public const int flare_Void = 51216;
public static readonly int[] IDS = new int[294]
public static readonly int[] IDS = new int[296]
{
50115, 51207, 51107, 51016, 51007, 50907, 50807, 50707, 50607, 50507,
50115, 51207, 51107, 51007, 50907, 51016, 50807, 50707, 50607, 50507,
50407, 50307, 50516, 50107, 50108, 50416, 50308, 50408, 50508, 50608,
50708, 50808, 50908, 51008, 51108, 51208, 50109, 50316, 50309, 50409,
50509, 51206, 50616, 51106, 51006, 50405, 50305, 50916, 50304, 50105,
51204, 50505, 51104, 50904, 50804, 50704, 50604, 50504, 50404, 51004,
50509, 51206, 51106, 51006, 50616, 50405, 50305, 50916, 50105, 51204,
50304, 50505, 51104, 50904, 50804, 50704, 50604, 50504, 50404, 51004,
50609, 50605, 50805, 50906, 50806, 50706, 50606, 50506, 50406, 50705,
50306, 50106, 50816, 51205, 51105, 51005, 50905, 50716, 50709, 50809,
50306, 50106, 51205, 51105, 50816, 51005, 50905, 50716, 50709, 50809,
50909, 50612, 50712, 50615, 50912, 51012, 51112, 51212, 50113, 50515,
50313, 50413, 50513, 50613, 50713, 50813, 50913, 51013, 51214, 51114,
51014, 50914, 50814, 50714, 50512, 50614, 50414, 50314, 50415, 50114,
51213, 51113, 50514, 50412, 50312, 50715, 51015, 51115, 51215, 50116,
50810, 50710, 50910, 50610, 50410, 50310, 50110, 51209, 51109, 51009,
50510, 50315, 50915, 51110, 50112, 51211, 51111, 51011, 50911, 50811,
51213, 51113, 50514, 50412, 50312, 50715, 50810, 50710, 51015, 51115,
51215, 50116, 50915, 50610, 50410, 50310, 50110, 51209, 51109, 51009,
50510, 50315, 50910, 51110, 50112, 51211, 51111, 51011, 50911, 50811,
51010, 50711, 50511, 50411, 50311, 50815, 50111, 51210, 50611, 50812,
8791, 51203, 8503, 8502, 8501, 8500, 8491, 8490, 8480, 8471,
8470, 8450, 8430, 8406, 8405, 8404, 8403, 8504, 8402, 8506,
8510, 8790, 8780, 8776, 8775, 8770, 8710, 8708, 8707, 8706,
8705, 8704, 8702, 8700, 8555, 8550, 8507, 8401, 8400, 8390,
8202, 8201, 8200, 7800, 7010, 7009, 7008, 7007, 7006, 7005,
7004, 7003, 7002, 7001, 51116, 8215, 8220, 8221, 8230, 8380,
8300, 8288, 8286, 8285, 8284, 8281, 8792, 8280, 8256, 8255,
8251, 8250, 8241, 8240, 8232, 8260, 50104, 8800, 9000, 50302,
8790, 51203, 8503, 8502, 8501, 8500, 8491, 8490, 8480, 8471,
8470, 8450, 8430, 8406, 8405, 8404, 8403, 8504, 8506, 8507,
8510, 8780, 8776, 8775, 8770, 8721, 8720, 8710, 8402, 8708,
8706, 8705, 8704, 8702, 8700, 8555, 8550, 8707, 8791, 8401,
8390, 8202, 8201, 8200, 7800, 7010, 7009, 7008, 7007, 7006,
7005, 7004, 7003, 7002, 7001, 51116, 8215, 8220, 8221, 8230,
8380, 8300, 8288, 8286, 8285, 8284, 8281, 8400, 8280, 8256,
8255, 8251, 8250, 8241, 8240, 8232, 8260, 50104, 8792, 8801,
50102, 51201, 51101, 51001, 50901, 50801, 50701, 50601, 50501, 50401,
50301, 50101, 51200, 51100, 50402, 51000, 50502, 50702, 51103, 51003,
50903, 50803, 50703, 50603, 50503, 50403, 50303, 50103, 51202, 51102,
51002, 50902, 50802, 50602, 50900, 50800, 50700, 9054, 9053, 9052,
9051, 9050, 9010, 9009, 9008, 9007, 9006, 9005, 9004, 9003,
9002, 9001, 9055, 9056, 9150, 9151, 50600, 50500, 50400, 50300,
50100, 10001, 10000, 8801, 9503, 9501, 9500, 9210, 9200, 9160,
9156, 9155, 9502, 51216
50301, 50101, 51200, 51100, 51000, 50302, 50402, 50502, 50602, 51103,
51003, 50903, 50803, 50703, 50603, 50503, 50900, 50403, 50103, 51202,
51102, 51002, 50902, 50802, 50702, 50303, 8800, 50800, 50600, 9053,
9052, 9051, 9050, 9010, 9009, 9008, 9007, 9006, 9005, 9004,
9003, 9002, 9001, 9000, 9054, 9055, 9056, 9150, 50500, 50400,
50300, 50100, 10001, 10000, 9503, 50700, 9502, 9500, 9210, 9200,
9160, 9156, 9155, 9151, 9501, 51216
};
}
public class Spell : AbilityStanceSongEnd
public override void TickSong()
}
if (30 * Mathf.Min(base.power / 4, 100) / 100 > EClass.rnd(100))
{
ActEffect.ProcAt(EffectId.Hand, new ActHand().GetPower(owner), BlessedState.Normal, owner, item, item.pos, isNeg: true, new ActRef
Act act = Element.Create((EClass.rnd(2) == 0) ? 50402 : ((EClass.rnd(2) == 0) ? 50401 : 50400), owner.CHA) as Act;
ActEffect.ProcAt(EffectId.Hand, act.GetPower(owner), BlessedState.Normal, owner, item, item.pos, isNeg: true, new ActRef
{
aliasEle = ((EClass.rnd(2) == 0) ? "eleLightning" : ((EClass.rnd(2) == 0) ? "eleCold" : "eleFire"))
act = act
});
}
}Trait
public void OnBarter(bool reroll = false)
break;
case ShopType.Moyer:
{
for (int num14 = 1; num14 <= 21; num14++)
for (int num14 = 1; num14 <= 22; num14++)
{
AddAdvWeek(num14);
}TraitCanvas
public class TraitCanvas : Trait
public virtual bool PointFilter => false;
public virtual bool UsePortraitFilter => true;
public virtual float Scale => 1f;
public virtual int Width => 28;
public virtual int Height => 28;
public virtual TraitPainter.Type CanvasType => TraitPainter.Type.Paint;
public override void OnSetCardGrid(ButtonGrid b)TraitDrawingPaper
public class TraitDrawingPaper : TraitCanvas
{
public override bool PointFilter => true;
public override bool UsePortraitFilter => false;
public override float Scale => 2f;
public override TraitPainter.Type CanvasType => TraitPainter.Type.Paper;+TraitDrawingPaperM
File Created
public class TraitDrawingPaperM : TraitDrawingPaper
{
public override int Width => 64;
public override int Height => 64;
}Zone_Town
public override void OnRegenerate()
{
Add("mad_rich");
}
if (EClass.rnd(EClass.debug.enable ? 2 : 5) == 0)
if (EClass.rnd(EClass.debug.enable ? 1 : 8) == 0)
{
Add("murderer");
Add((EClass.rnd(EClass.debug.enable ? 1 : 4) == 0) ? "unseenhand" : "murderer");
}
void Add(string id)
{