EA 23.128 Nightly
April 18, 2025
13 files modified.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
FoodEffect (2)
public static bool IsHumanFlesh(CardRow r)
public static bool IsUndeadFlesh(CardRow r)
AI_Fish
@@ -100,6 +100,10 @@ public override void OnProgressComplete()
return;
}
int num = thing.Num;
if (!owner.IsPC)
{
num += 5;
}
EClass._zone.AddCard(thing, owner.pos);
thing.renderer.PlayAnime(AnimeID.Jump);
owner.Say("fish_get", owner, thing);
ActEffect
@@ -574,6 +574,8 @@ public static bool DamageEle(Card CC, EffectId id, int power, Element e, List<Po
"monster" => CharaGen.CreateFromFilter("c_dungeon", power / 10),
"animal" => CharaGen.CreateFromFilter("c_animal", power / 15),
"fire" => CharaGen.CreateFromElement("Fire", power / 10),
"fish" => CharaGen.CreateFromFilter(SpawnListChara.Get("summon_fish", (SourceChara.Row r) => r.ContainsTag("water") || r.model.Chara.race.tag.Contains("water")), power / 10),
"octopus" => CharaGen.CreateFromFilter(SpawnListChara.Get("summon_octopus", (SourceChara.Row r) => r.race == "octopus"), power / 10),
_ => CharaGen.Create(id4, power / 10),
};
if (chara2 == null)
Card
@@ -3610,13 +3610,14 @@ public void SetTier(int a, bool setTraits = true)
tier = a;
if (setTraits)
{
int num = ((a == 1) ? 180 : ((a == 2) ? 400 : ((a >= 3) ? 600 : 0)));
if (a > 0)
{
foreach (Element value in elements.dict.Values)
{
if (value.IsFoodTrait || value.IsTrait)
{
elements.SetTo(value.id, value.Value * (a * 180) / 100);
elements.SetTo(value.id, value.Value * num / 100);
}
}
}
@@ -5114,11 +5115,11 @@ public Card MakeFoodFrom(Card c)
}
if (flag2)
{
if (FoodEffect.IsHumanFlesh(c.sourceCard))
if (race.IsHuman)
{
elements.SetBase(708, 1);
}
if (FoodEffect.IsUndeadFlesh(c.sourceCard))
if (race.IsUndead)
{
elements.SetBase(709, 1);
}
}
switch (currency)
{
case CurrencyType.Ecopo:
if (id == "plat")
{
return 500;
}
break;
case CurrencyType.Plat:
{
string text = id;
CardRenderer
@@ -220,10 +220,25 @@ public override void Draw(RenderParam p, ref Vector3 v, bool drawShadow)
drawShadow = traitFigure.ShowShadow;
pref = row.pref;
}
if (renderData.pass != null && renderData.pass.name == "pass charaL" && EClass.pc.held == owner)
if (renderData.pass != null && EClass.pc.held == owner)
{
int num = (int)renderData.pass.pmesh.tiling.x;
p.tile = (int)p.tile / num * num * 2 + (int)p.tile % num;
string name = renderData.pass.name;
if (!(name == "pass charaL"))
{
if (name == "pass charaLW")
{
if (p.tile < 0f)
{
p.tile *= -1f;
}
p.tile = (int)p.tile / num * num * 4 + (int)p.tile % num * 2;
}
}
else
{
p.tile = (int)p.tile / num * num * 2 + (int)p.tile % num;
}
}
}
else
Chara
@@ -1347,6 +1347,7 @@ public override void OnCreate(int genLv)
_race = null;
_job = null;
num = 10 + EClass.rnd(40);
ChangeMaterial(race.material, ignoreFixedMaterial: true);
}
bio = new Biography();
bio.Generate(this);
@@ -7812,11 +7813,7 @@ public bool ShouldThrowAway(Thing t, ClearInventoryType type)
{
return false;
}
if (trait is TraitBard && t.trait is TraitToolMusic)
{
return false;
}
if (t.trait is TraitCurrency)
if (t.trait is TraitCurrency || t.trait is TraitTool)
{
return false;
}
@@ -7853,7 +7850,7 @@ public bool ShouldThrowAway(Thing t, ClearInventoryType type)
{
return false;
}
if (t.IsRangedWeapon && !things.IsFull())
if (!things.IsFull() && t.IsRangedWeapon)
{
return false;
}
CoreDebug
@@ -994,6 +994,15 @@ public void UpdateInput()
{
member.InstantEat();
}
for (int j = 0; j < 10; j++)
{
Thing thing2 = ThingGen.CreateFromCategory("fish", 999);
thing2.SetTier(EScriptable.rnd(4));
EClass.pc.Pick(thing2);
thing2 = ThingGen.Create("89");
thing2.SetTier(EScriptable.rnd(4));
EClass.pc.Pick(thing2);
}
EClass.pc.PlayEffect("phoenix");
return;
}
@@ -1060,7 +1069,7 @@ public void UpdateInput()
if (Input.GetKey(KeyCode.F9))
{
EClass.scene.paused = false;
for (int j = 0; j < advanceMin; j++)
for (int k = 0; k < advanceMin; k++)
{
EClass.game.updater.FixedUpdate();
}
@@ -1200,8 +1209,8 @@ public void UpdateInput()
{
for (int num4 = hitPoint.detail.things.Count - 1; num4 >= 0; num4--)
{
Thing thing2 = hitPoint.detail.things[num4];
Debug.Log(thing2.id + "/" + thing2.Pref.height + "/" + thing2.trait?.ToString() + "/" + thing2.source.tileType.CanStack + "/" + thing2.source.tileType?.ToString() + "/" + thing2.isSynced + "/" + RenderObject.syncList.Contains(thing2.renderer));
Thing thing3 = hitPoint.detail.things[num4];
Debug.Log(thing3.id + "/" + thing3.Pref.height + "/" + thing3.trait?.ToString() + "/" + thing3.source.tileType.CanStack + "/" + thing3.source.tileType?.ToString() + "/" + thing3.isSynced + "/" + RenderObject.syncList.Contains(thing3.renderer));
}
}
if (!Application.isEditor)
@@ -1277,40 +1286,40 @@ public void UpdateInput()
case DebugHotkey.Item:
if (Input.GetKeyDown(KeyCode.Alpha1))
{
Thing thing3 = ThingGen.Create("stairsDown_cave");
EClass._zone.AddCard(thing3, EClass.pc.pos);
thing3.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Thing thing4 = ThingGen.Create("stairs");
Thing thing4 = ThingGen.Create("stairsDown_cave");
EClass._zone.AddCard(thing4, EClass.pc.pos);
thing4.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha3))
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Thing thing5 = ThingGen.Create("sign");
EClass._zone.AddCard(thing5, hitPoint);
Thing thing5 = ThingGen.Create("stairs");
EClass._zone.AddCard(thing5, EClass.pc.pos);
thing5.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha4))
if (Input.GetKeyDown(KeyCode.Alpha3))
{
Thing thing6 = ThingGen.Create("sign2");
Thing thing6 = ThingGen.Create("sign");
EClass._zone.AddCard(thing6, hitPoint);
thing6.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha5))
if (Input.GetKeyDown(KeyCode.Alpha4))
{
Thing thing7 = ThingGen.Create("well");
Thing thing7 = ThingGen.Create("sign2");
EClass._zone.AddCard(thing7, hitPoint);
thing7.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha6))
if (Input.GetKeyDown(KeyCode.Alpha5))
{
Thing thing8 = ThingGen.Create("altar");
Thing thing8 = ThingGen.Create("well");
EClass._zone.AddCard(thing8, hitPoint);
thing8.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha6))
{
Thing thing9 = ThingGen.Create("altar");
EClass._zone.AddCard(thing9, hitPoint);
thing9.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha7))
{
Thing t = ThingGen.Create("torch");
FACTION
@@ -42,7 +42,7 @@ public class FACTION
public const int bfTranquil = 3703;
public const int fHeirloom = 2120;
public const int fTaxEvasion = 2119;
public const int fLuck = 2118;
@@ -106,16 +106,16 @@ public class FACTION
public const int fConstruction = 2003;
public const int fTaxEvasion = 2119;
public const int fHeirloom = 2120;
public static readonly int[] IDS = new int[52]
{
3700, 3701, 3604, 3605, 3500, 3702, 3603, 3602, 3601, 3600,
2207, 4005, 2205, 2204, 2203, 2202, 2201, 2200, 3703, 2120,
2207, 4005, 2205, 2204, 2203, 2202, 2201, 2200, 3703, 2119,
2118, 2117, 2116, 2206, 3704, 3802, 3706, 4006, 4003, 4002,
2115, 4001, 4000, 3900, 3805, 3804, 3803, 3705, 4004, 3800,
3784, 3783, 3782, 3781, 3780, 3710, 3709, 3708, 3707, 3801,
2003, 2119
2003, 2120
};
}
public class Faction : EClass
FactionBranch
@@ -830,11 +830,25 @@ void GetOutcome(Hobby h)
Thing thing4 = ((!text.StartsWith("#")) ? ThingGen.Create(h.source.things[j], -1, num4) : ThingGen.CreateFromCategory(text.Replace("#", ""), num4));
if (thing4 != null)
{
num6 *= thing4.trait.CraftNum;
if (thing4.category.id == "fish" && EClass.rnd(EClass.debug.enable ? 1 : 5) == 0)
{
int num7 = Mathf.Min(EClass.rnd(EClass.rnd(EClass.rnd(EClass.curve(num4, 100, 50, 70) + 50))) / 50, 3);
if (num7 > 0)
{
thing4.SetTier(num7);
num6 /= num7 + 1;
}
}
if (num6 < 1)
{
num6 = 1;
}
if (!thing4.trait.CanStack)
{
num6 = 1;
}
thing4.SetNum(thing4.trait.CraftNum * num6);
thing4.SetNum(num6);
thing4.SetBlessedState(BlessedState.Normal);
thing4.TryMakeRandomItem(num4);
if (thing4.IsAmmo)
FoodEffect
public class FoodEffect : EClass
{
public static bool IsHumanFlesh(CardRow r)
{
if (r == null)
{
return false;
}
if (r.id == "chara")
{
return EClass.pc.race.tag.Contains("human");
}
if (r.isChara)
{
return EClass.sources.races.map[EClass.sources.charas.map[r.id].race].tag.Contains("human");
}
return false;
}
public static bool IsUndeadFlesh(CardRow r)
{
if (r == null)
{
return false;
}
if (r.id == "chara")
{
return EClass.pc.race.tag.Contains("undead");
}
if (r.isChara)
{
return EClass.sources.races.map[EClass.sources.charas.map[r.id].race].tag.Contains("undead");
}
return false;
}
public static void Proc(Chara c, Thing food)
{
food.CheckJustCooked();
SKILL
@@ -24,7 +24,7 @@ public class SKILL
public const int mining = 220;
public const int marksman = 133;
public const int fishing = 245;
public const int climbing = 242;
@@ -58,7 +58,7 @@ public class SKILL
public const int strategy = 135;
public const int fishing = 245;
public const int eyeofmind = 134;
public const int tactics = 132;
@@ -132,7 +132,7 @@ public class SKILL
public const int gathering = 250;
public const int eyeofmind = 134;
public const int marksman = 133;
public const int blacksmith = 256;
@@ -142,7 +142,7 @@ public class SKILL
public const int eleNerve = 918;
public const int eleChaos = 920;
public const int eleHoly = 919;
public const int eleMagic = 921;
@@ -200,7 +200,7 @@ public class SKILL
public const int eleMind = 914;
public const int eleHoly = 919;
public const int eleChaos = 920;
public const int eleLightning = 912;
@@ -222,10 +222,10 @@ public class SKILL
public const int farming = 286;
public const int cooking = 287;
public const int eleDarkness = 913;
public const int building = 288;
public const int appraising = 289;
public const int anatomy = 290;
@@ -234,14 +234,14 @@ public class SKILL
public const int investing = 292;
public const int building = 288;
public const int cooking = 287;
public const int regeneration = 300;
public const int eleCold = 911;
public const int disarmTrap = 293;
public const int eleFire = 910;
public const int env = 313;
public const int fun = 312;
@@ -250,7 +250,7 @@ public class SKILL
public const int hygine = 310;
public const int eleFire = 910;
public const int eleCold = 911;
public const int faith = 306;
@@ -262,26 +262,26 @@ public class SKILL
public const int controlmana = 302;
public const int memorization = 307;
public const int meditation = 301;
public const int memorization = 307;
public static readonly int[] IDS = new int[133]
{
111, 123, 122, 120, 55, 109, 50, 51, 130, 110,
131, 220, 133, 242, 241, 240, 237, 235, 230, 227,
226, 225, 210, 207, 200, 152, 151, 150, 135, 245,
131, 220, 245, 242, 241, 240, 237, 235, 230, 227,
226, 225, 210, 207, 200, 152, 151, 150, 135, 134,
132, 56, 103, 108, 60, 61, 62, 64, 65, 66,
67, 68, 70, 71, 72, 73, 74, 75, 57, 76,
78, 79, 80, 90, 91, 92, 93, 100, 101, 102,
104, 105, 106, 107, 77, 250, 134, 256, 916, 917,
918, 920, 921, 922, 923, 924, 925, 926, 950, 951,
104, 105, 106, 107, 77, 250, 133, 256, 916, 917,
918, 919, 921, 922, 923, 924, 925, 926, 950, 951,
952, 953, 915, 954, 956, 957, 958, 959, 960, 961,
962, 963, 964, 965, 970, 971, 972, 255, 955, 914,
919, 912, 257, 258, 259, 260, 261, 280, 281, 285,
286, 287, 913, 289, 290, 291, 292, 288, 300, 911,
293, 313, 312, 311, 310, 910, 306, 305, 304, 303,
302, 307, 301
920, 912, 257, 258, 259, 260, 261, 280, 281, 285,
286, 913, 288, 289, 290, 291, 292, 287, 300, 293,
910, 313, 312, 311, 310, 911, 306, 305, 304, 303,
302, 301, 307
};
}
public class Skill : Element
SLOT
public class SLOT
{
public const int toolbelt = 44;
public const int torso = 32;
public const int ammo = 42;
public const int foot = 39;
public const int lightsource = 45;
public const int leg = 38;
public const int arm = 34;
public const int hand = 35;
public const int waist = 37;
public const int finger = 36;
public const int tool = 40;
public const int waist = 37;
public const int back = 33;
public const int neck = 31;
public const int range = 41;
public const int finger = 36;
public const int lightsource = 45;
public const int head = 30;
public const int tool = 40;
public const int toolbelt = 44;
public const int token = 43;
public const int range = 41;
public const int torso = 32;
public const int foot = 39;
public const int neck = 31;
public const int ammo = 42;
public const int head = 30;
public static readonly int[] IDS = new int[16]
{
44, 32, 42, 39, 45, 38, 34, 35, 37, 40,
33, 31, 36, 30, 43, 41
38, 34, 35, 36, 37, 33, 41, 45, 40, 44,
43, 32, 39, 31, 42, 30
};
}
SPELL
public class SPELL
{
public const int weapon_Poison = 50805;
public const int hand_Impact = 50415;
public const int ball_Nerve = 50108;
public const int ball_Sound = 50107;
public const int puddle_Mind = 50904;
public const int bolt_Void = 50316;
public const int weapon_Mind = 50804;
public const int bolt_Sound = 50307;
public const int hand_Sound = 50407;
public const int arrow_Sound = 50507;
public const int funnel_Sound = 50607;
public const int miasma_Sound = 50707;
public const int weapon_Sound = 50807;
public const int puddle_Sound = 50907;
public const int sword_Sound = 51007;
public const int hand_Void = 50416;
public const int ball_Nerve = 50108;
public const int bolt_Nerve = 50308;
@@ -26,41 +44,57 @@ public class SPELL
public const int ball_Holy = 50109;
public const int miasma_Mind = 50704;
public const int sword_Holy = 51009;
public const int sword_Impact = 51015;
public const int bolt_Holy = 50309;
public const int hand_Holy = 50409;
public const int ball_Void = 50116;
public const int arrow_Holy = 50509;
public const int sword_Nether = 51006;
public const int funnel_Holy = 50609;
public const int puddle_Nether = 50906;
public const int miasma_Holy = 50709;
public const int weapon_Nether = 50806;
public const int weapon_Holy = 50809;
public const int arrow_Mind = 50504;
public const int puddle_Holy = 50909;
public const int funnel_Mind = 50604;
public const int sword_Sound = 51007;
public const int miasma_Mind = 50704;
public const int puddle_Sound = 50907;
public const int weapon_Mind = 50804;
public const int miasma_Sound = 50707;
public const int puddle_Mind = 50904;
public const int miasma_Poison = 50705;
public const int sword_Mind = 51004;
public const int puddle_Poison = 50905;
public const int ball_Poison = 50105;
public const int weapon_Void = 50816;
public const int miasma_Void = 50716;
public const int bolt_Poison = 50305;
public const int hand_Poison = 50405;
public const int arrow_Poison = 50505;
public const int funnel_Poison = 50605;
public const int miasma_Poison = 50705;
public const int weapon_Poison = 50805;
public const int puddle_Poison = 50905;
public const int sword_Poison = 51005;
public const int ball_Nether = 50106;
public const int arrow_Poison = 50505;
public const int funnel_Void = 50616;
public const int arrow_Void = 50516;
public const int bolt_Nether = 50306;
@@ -72,37 +106,37 @@ public class SPELL
public const int miasma_Nether = 50706;
public const int weapon_Sound = 50807;
public const int hand_Holy = 50409;
public const int hand_Poison = 50405;
public const int arrow_Holy = 50509;
public const int puddle_Nether = 50906;
public const int funnel_Holy = 50609;
public const int sword_Nether = 51006;
public const int miasma_Holy = 50709;
public const int ball_Sound = 50107;
public const int miasma_Ether = 50712;
public const int bolt_Poison = 50305;
public const int weapon_Ether = 50812;
public const int bolt_Sound = 50307;
public const int puddle_Ether = 50912;
public const int ball_Poison = 50105;
public const int sword_Ether = 51012;
public const int sword_Mind = 51004;
public const int ball_Acid = 50113;
public const int hand_Sound = 50407;
public const int funnel_Impact = 50615;
public const int arrow_Sound = 50507;
public const int bolt_Acid = 50313;
public const int funnel_Sound = 50607;
public const int hand_Acid = 50413;
public const int weapon_Nether = 50806;
public const int arrow_Acid = 50513;
public const int funnel_Mind = 50604;
public const int hand_Mind = 50404;
public const int miasma_Acid = 50713;
public const int bolt_Chaos = 50310;
public const int weapon_Acid = 50813;
public const int puddle_Acid = 50913;
@@ -110,6 +144,8 @@ public class SPELL
public const int ball_Cut = 50114;
public const int arrow_Impact = 50515;
public const int bolt_Cut = 50314;
public const int hand_Cut = 50414;
@@ -128,43 +164,25 @@ public class SPELL
public const int ball_Impact = 50115;
public const int bolt_Impact = 50315;
public const int hand_Impact = 50415;
public const int arrow_Impact = 50515;
public const int funnel_Impact = 50615;
public const int miasma_Impact = 50715;
public const int weapon_Impact = 50815;
public const int puddle_Impact = 50915;
public const int sword_Impact = 51015;
public const int ball_Void = 50116;
public const int bolt_Void = 50316;
public const int funnel_Ether = 50612;
public const int hand_Void = 50416;
public const int bolt_Impact = 50315;
public const int arrow_Void = 50516;
public const int arrow_Ether = 50512;
public const int funnel_Void = 50616;
public const int bolt_Ether = 50312;
public const int miasma_Void = 50716;
public const int weapon_Holy = 50809;
public const int weapon_Void = 50816;
public const int puddle_Holy = 50909;
public const int weapon_Acid = 50813;
public const int sword_Holy = 51009;
public const int ball_Chaos = 50110;
public const int funnel_Acid = 50613;
public const int puddle_Impact = 50915;
public const int hand_Acid = 50413;
public const int bolt_Chaos = 50310;
public const int hand_Chaos = 50410;
@@ -182,6 +200,8 @@ public class SPELL
public const int ball_Magic = 50111;
public const int weapon_Impact = 50815;
public const int bolt_Magic = 50311;
public const int hand_Magic = 50411;
@@ -200,33 +220,15 @@ public class SPELL
public const int ball_Ether = 50112;
public const int bolt_Ether = 50312;
public const int miasma_Impact = 50715;
public const int hand_Ether = 50412;
public const int arrow_Ether = 50512;
public const int funnel_Ether = 50612;
public const int miasma_Ether = 50712;
public const int weapon_Ether = 50812;
public const int puddle_Ether = 50912;
public const int sword_Ether = 51012;
public const int ball_Acid = 50113;
public const int bolt_Acid = 50313;
public const int arrow_Acid = 50513;
public const int arrow_Mind = 50504;
public const int funnel_Acid = 50613;
public const int sword_Fire = 51000;
public const int puddle_Fire = 50900;
public const int bolt_Mind = 50304;
public const int ball_Mind = 50104;
public const int SpHealLight = 8400;
@@ -254,9 +256,9 @@ public class SPELL
public const int SpRemoveHex = 8490;
public const int SpVanishHex = 8491;
public const int SpWish = 8390;
public const int SpHolyVeil = 8500;
public const int SpVanishHex = 8491;
public const int SpCatsEye = 8501;
@@ -282,11 +284,13 @@ public class SPELL
public const int SpBane = 8706;
public const int SpWish = 8390;
public const int SpGravity = 8708;
public const int SpMutation = 8380;
public const int SpHolyVeil = 8500;
public const int SpLevitate = 8300;
public const int SpSpeedDown = 8710;
public const int SpMutation = 8380;
public const int SpReconstruction = 8288;
@@ -316,7 +320,7 @@ public class SPELL
public const int SpReturn = 8220;
public const int SpGravity = 8708;
public const int SpLevitate = 8300;
public const int SpEvac = 8221;
@@ -348,11 +352,13 @@ public class SPELL
public const int SpIdentify = 8230;
public const int SpSpeedDown = 8710;
public const int bolt_Mind = 50304;
public const int SpTelepathy = 8770;
public const int SpInvisibility = 8775;
public const int SpSeeInvisible = 8776;
public const int sword_Fire = 51000;
public const int ball_Cold = 50101;
@@ -378,11 +384,11 @@ public class SPELL
public const int hand_Lightning = 50402;
public const int arrow_Lightning = 50502;
public const int weapon_Fire = 50800;
public const int puddle_Fire = 50900;
public const int arrow_Lightning = 50502;
public const int funnel_Lightning = 50602;
public const int miasma_Lightning = 50702;
public const int weapon_Lightning = 50802;
@@ -408,17 +414,13 @@ public class SPELL
public const int sword_Darkness = 51003;
public const int ball_Mind = 50104;
public const int miasma_Lightning = 50702;
public const int hand_Mind = 50404;
public const int funnel_Lightning = 50602;
public const int weapon_Fire = 50800;
public const int SpInvisibility = 8775;
public const int funnel_Fire = 50600;
public const int miasma_Fire = 50700;
public const int SpSeeInvisible = 8776;
public const int arrow_Fire = 50500;
public const int SpIncognito = 8780;
@@ -444,10 +446,14 @@ public class SPELL
public const int SpSummonYeek = 9006;
public const int miasma_Fire = 50700;
public const int SpSummonOrc = 9007;
public const int funnel_Fire = 50600;
public const int SpSummonFish = 9008;
public const int SpSummonShadow = 9050;
public const int SpMeteor = 9150;
public const int SpEarthquake = 9151;
@@ -472,38 +478,37 @@ public class SPELL
public const int hand_Fire = 50400;
public const int arrow_Fire = 50500;
public const int SpSummonShadow = 9050;
public const int SpSummonTako = 9009;
public const int sword_Void = 51016;
public static readonly int[] IDS = new int[239]
public static readonly int[] IDS = new int[241]
{
50805, 50108, 50904, 50804, 50308, 50408, 50508, 50608, 50708, 50808,
50908, 51008, 50109, 50704, 51009, 50309, 50409, 50509, 50609, 50709,
50809, 50909, 51007, 50907, 50707, 50705, 50905, 50605, 51005, 50106,
50505, 50306, 50406, 50506, 50606, 50706, 50807, 50405, 50906, 51006,
50107, 50305, 50307, 50105, 51004, 50407, 50507, 50607, 50806, 50604,
50713, 50310, 50913, 51013, 50114, 50314, 50414, 50514, 50614, 50714,
50814, 50914, 51014, 50115, 50315, 50415, 50515, 50615, 50715, 50815,
50915, 51015, 50116, 50316, 50416, 50516, 50616, 50716, 50816, 50813,
50110, 50613, 50413, 50410, 50510, 50610, 50710, 50810, 50910, 51010,
50111, 50311, 50411, 50511, 50611, 50711, 50811, 50911, 51011, 50112,
50312, 50412, 50512, 50612, 50712, 50812, 50912, 51012, 50113, 50313,
50513, 50504, 51000, 50304, 8400, 8401, 8402, 8403, 8404, 8405,
8406, 8430, 8450, 8470, 8471, 8480, 8490, 8491, 8500, 8501,
8502, 8503, 8504, 8506, 8510, 8550, 8700, 8702, 8704, 8705,
8706, 8390, 8380, 8300, 8288, 7001, 7002, 7003, 7004, 7005,
7006, 7007, 7008, 7800, 8200, 8201, 8202, 8220, 8708, 8221,
8232, 8240, 8241, 8250, 8251, 8255, 8256, 8260, 8280, 8281,
8284, 8285, 8286, 8230, 8710, 8770, 8775, 50101, 50301, 50401,
50501, 50601, 50701, 50801, 50901, 51001, 50102, 50302, 50402, 50502,
50900, 50602, 50802, 50902, 51002, 50103, 50303, 50403, 50503, 50603,
50703, 50803, 50903, 51003, 50104, 50702, 50404, 50800, 50600, 8776,
8780, 8790, 8791, 8800, 8801, 9000, 9001, 9002, 9003, 9004,
9005, 9006, 50700, 9007, 9150, 9151, 9160, 9200, 9500, 9501,
9502, 9503, 50100, 50916, 50300, 50400, 50500, 9050, 51016
50415, 50107, 50316, 50307, 50407, 50507, 50607, 50707, 50807, 50907,
51007, 50416, 50108, 50308, 50408, 50508, 50608, 50708, 50808, 50908,
51008, 50109, 51015, 50309, 50116, 51006, 50906, 50806, 50504, 50604,
50704, 50804, 50904, 51004, 50105, 50816, 50716, 50305, 50405, 50505,
50605, 50705, 50805, 50905, 51005, 50106, 50616, 50516, 50306, 50406,
50506, 50606, 50706, 50409, 50509, 50609, 50709, 50712, 50812, 50912,
51012, 50113, 50615, 50313, 50413, 50513, 50404, 50713, 50813, 50913,
51013, 50114, 50515, 50314, 50414, 50514, 50614, 50714, 50814, 50914,
51014, 50115, 50612, 50315, 50512, 50312, 50809, 50909, 51009, 50110,
50915, 50310, 50410, 50510, 50610, 50710, 50810, 50910, 51010, 50111,
50815, 50311, 50411, 50511, 50611, 50711, 50811, 50911, 51011, 50112,
50715, 50412, 50613, 50900, 50104, 8400, 8401, 8402, 8403, 8404,
8405, 8406, 8430, 8450, 8470, 8471, 8480, 8490, 8390, 8491,
8501, 8502, 8503, 8504, 8506, 8510, 8550, 8700, 8702, 8704,
8705, 8706, 8708, 8500, 8710, 8380, 8288, 7001, 7002, 7003,
7004, 7005, 7006, 7007, 7008, 7800, 8200, 8201, 8202, 8220,
8300, 8221, 8232, 8240, 8241, 8250, 8251, 8255, 8256, 8260,
8280, 8281, 8284, 8285, 8286, 8230, 50304, 8770, 8776, 51000,
50101, 50301, 50401, 50501, 50601, 50701, 50801, 50901, 51001, 50102,
50302, 50402, 50800, 50502, 50702, 50802, 50902, 51002, 50103, 50303,
50403, 50503, 50603, 50703, 50803, 50903, 51003, 50602, 8775, 50700,
50500, 8780, 8790, 8791, 8800, 8801, 9000, 9001, 9002, 9003,
9004, 9005, 9006, 9007, 50600, 9008, 9050, 9150, 9151, 9160,
9200, 9500, 9501, 9502, 9503, 50100, 50916, 50300, 50400, 9009,
51016
};
}
public class Spell : Ability
Trait
@@ -1839,6 +1839,7 @@ public void OnBarter()
case ShopType.Ecopo:
Add("ecomark", 5, 0);
Add("1165", 1, 0);
Add("plat", 100, 0);
AddThing(ThingGen.CreateScroll(9160).SetNum(5));
break;
case ShopType.Gun: