EA 23.173 Stable
July 27, 2025
14 files modified. 1 new file created.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
Card (1)
public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource = AttackSource.None, Card origin = null, bool showEffect = true, Thing weapon = null)
public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource = AttackSource.None, Card origin = null, bool showEffect = true, Thing weapon = null, AttackSourceSub attackSourceSub = AttackSourceSub.None)
AI_Fuck
@@ -23,6 +23,8 @@ public enum FuckType
public int progress;
public int fails;
public int totalAffinity;
public virtual FuckType Type => FuckType.fuck;
@@ -140,7 +142,16 @@ public override IEnumerable<Status> Run()
{
tc.PlaySound("brushing");
int num2 = cc.CHA / 2 + cc.Evalue(237) - tc.CHA * 2;
int num3 = ((EClass.rnd(cc.CHA / 2 + cc.Evalue(237)) <= EClass.rnd(tc.CHA * num / 100)) ? (-5 + ((!tc.IsPCFaction) ? Mathf.Clamp(num2 / 10, -30, 0) : 0)) : (5 + Mathf.Clamp(num2 / 20, 0, 20)));
int num3;
if (EClass.rnd(cc.CHA / 2 + cc.Evalue(237)) > EClass.rnd(tc.CHA * num / 100))
{
num3 = 5 + Mathf.Clamp(num2 / 20, 0, 20);
}
else
{
num3 = -5 + ((!tc.IsPCFaction) ? Mathf.Clamp(num2 / 10, -30, 0) : 0);
fails++;
}
int a = 20;
if (tc.IsPCFactionOrMinion && tc.affinity.CurrentStage >= Affinity.Stage.Love)
{
@@ -338,7 +349,7 @@ public void Finish()
chara.Say("tame_fail", chara, chara2);
}
}
if (num > EClass.rnd(100))
if (fails > 0 && num > EClass.rnd(100))
{
chara2.DoHostileAction(chara);
chara2.calmCheckTurn *= 3;
ActPlan
@@ -315,11 +315,32 @@ public Func<bool> GetAction()
};
}
public void Order(string id)
{
EClass.player.forceTalk = true;
EClass.pc.SayRaw(id.lang());
}
public void ShowContextMenu()
{
UIContextMenu uIContextMenu = EClass.ui.CreateContextMenuInteraction();
int num = 1;
_ = showOrder;
if (showOrder)
{
UIContextMenu uIContextMenu2 = uIContextMenu.AddChild("order_ally");
uIContextMenu2.AddButton("order_fight", delegate
{
Order("order_fight");
});
uIContextMenu2.AddButton("order_heal", delegate
{
Order("order_heal");
});
uIContextMenu2.AddButton("order_wait", delegate
{
Order("order_wait");
});
}
foreach (Item i in list)
{
string textContext = i.GetTextContext(HasMultipleTargets);
@@ -862,7 +883,7 @@ void func()
{
TrySetAct(ACT.Wait);
}
if (EClass.pc.party.members.Count > 1)
if (EClass.debug.enable)
{
showOrder = true;
}
AttackProcess
@@ -473,9 +473,13 @@ public bool Perform(int count, bool hasHit, float dmgMulti = 1f, bool maxRoll =
num2 += weapon.Evalue(91, ignoreGlobalElement: true);
num3 += weapon.Evalue(603, ignoreGlobalElement: true);
}
else if (CC.id == "rabbit_vopal")
else
{
list2.Add(Element.Create(6650, 100));
string id = CC.id;
if (id == "rabbit_vopal" || id == "mantis_killer")
{
list2.Add(Element.Create(6650, 100));
}
}
int bane;
if (TC?.Chara != null)
@@ -770,22 +774,22 @@ void ModExpDef(int ele, int mod)
}
void PlayHitEffect()
{
string id = "hit_default";
string id2 = "hit_default";
string id3 = "hit_default";
switch (attackType)
{
case AttackType.Slash:
id3 = "hit_slash";
id2 = "hit_slash";
id = "hit_slash";
break;
case AttackType.Spore:
id3 = "hit_spore";
id2 = "hit_spore";
id = "hit_spore";
break;
case AttackType.Claw:
case AttackType.Bite:
id3 = "hit_claw";
id2 = "hit_claw";
id = "hit_claw";
break;
case AttackType.Blunt:
case AttackType.Punch:
@@ -793,15 +797,15 @@ void PlayHitEffect()
case AttackType.Bow:
case AttackType.Gun:
case AttackType.Cane:
id3 = "hit_blunt";
id2 = "hit_blunt";
id = "hit_blunt";
break;
}
if (TC != null)
{
TC.PlayEffect(id2).SetScale(crit ? 1.25f : 0.75f);
TC.PlayEffect(id3).SetScale(crit ? 1.25f : 0.75f);
}
CC.PlaySound(id);
CC.PlaySound(id2);
}
void Proc(List<Element> list)
{
+AttackSourceSub
File Created
public enum AttackSourceSub
{
None,
FleshWall
}
Card
@@ -3634,6 +3634,10 @@ public void SetPlaceState(PlaceState newState, bool byPlayer = false)
{
this.placeState = newState;
}
if (trait is TraitFakeBlock)
{
_CreateRenderer();
}
if (newState == PlaceState.none)
{
this.placeState = PlaceState.roaming;
DamageHP(dmg, 0, 0, attackSource, origin);
}
public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource = AttackSource.None, Card origin = null, bool showEffect = true, Thing weapon = null)
public void DamageHP(int dmg, int ele, int eleP = 100, AttackSource attackSource = AttackSource.None, Card origin = null, bool showEffect = true, Thing weapon = null, AttackSourceSub attackSourceSub = AttackSourceSub.None)
{
if (hp < 0)
{
return;
}
bool flag = attackSourceSub == AttackSourceSub.FleshWall;
if (isChara && !HasElement(1241))
{
AttackSource attackSource2 = attackSource;
if (attackSource2 != AttackSource.Fatigue && (uint)(attackSource2 - 13) > 4u)
{
foreach (Chara chara3 in EClass._map.charas)
{
int num = chara3.Evalue(1241);
if (num != 0 && !chara3.IsDisabled && !chara3.isRestrained && !chara3.IsDeadOrSleeping && chara3 != this && !chara3.IsHostile(Chara) && chara3.Dist(this) <= num)
{
chara3.DamageHP(dmg, ele, eleP, attackSource, origin, showEffect, weapon, AttackSourceSub.FleshWall);
return;
}
}
}
}
Element e;
if (ele == 0 || ele == 926)
{
}
if (!e.source.aliasRef.IsEmpty() && attackSource != AttackSource.ManaBackfire)
{
int num = ((origin != null) ? origin.Evalue(1238) : 0);
int num2 = ((origin != null) ? origin.Evalue(1238) : 0);
if (attackSource == AttackSource.MagicSword)
{
num += 2;
num2 += 2;
}
dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num);
dmg = Element.GetResistDamage(dmg, Evalue(e.source.aliasRef), num2);
dmg = dmg * 100 / (100 + Mathf.Clamp(Evalue(961) * 5, -50, 200));
dmg = dmg * Mathf.Max(100 - Evalue(93), 10) / 100;
}
}
if (EClass.game.principal.enableDamageReduction && IsPCFaction)
{
int num2 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
if (num2 > 50)
int num3 = ((origin != null) ? origin.LV : EClass._zone.DangerLv);
if (num3 > 50)
{
dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num2 - 50))) / 100;
dmg = dmg * (100 - (int)Mathf.Min(95f, Mathf.Sqrt(num3 - 50))) / 100;
}
}
dmg = dmg * Mathf.Max(0, 100 - Evalue((e == Element.Void || e.id == 926) ? 55 : 56)) / 100;
dmg = dmg * Mathf.Max(0, 100 - Mathf.Min(Evalue((e == Element.Void || e.id == 926) ? 55 : 56), 100) / ((!flag) ? 1 : 2)) / 100;
if (origin != null && origin.IsPC && EClass.player.codex.Has(id))
{
dmg = dmg * (100 + Mathf.Min(10, EClass.player.codex.GetOrCreate(id).weakspot)) / 100;
}
if (EClass.pc.HasElement(1207) && isChara)
{
int num3 = 0;
int num4 = 0;
int num5 = 0;
foreach (Condition condition2 in Chara.conditions)
{
if (condition2.Type == ConditionType.Buff)
{
num3++;
num4++;
}
else if (condition2.Type == ConditionType.Debuff)
{
num4++;
num5++;
}
}
if (IsPCParty)
{
dmg = dmg * 100 / Mathf.Min(100 + num3 * 5, 120);
dmg = dmg * 100 / Mathf.Min(100 + num4 * 5, 120);
}
else
{
dmg = dmg * Mathf.Min(100 + num4 * 5, 120) / 100;
dmg = dmg * Mathf.Min(100 + num5 * 5, 120) / 100;
}
}
if (IsPCParty && EClass.pc.ai is GoalAutoCombat)
}
if (HasElement(1218) && attackSource != AttackSource.ManaBackfire && (hp > 0 || Evalue(1421) <= 0))
{
dmg = dmg * (1000 - Evalue(1218)) / 1000;
dmg = dmg * (1000 - Mathf.Min(Evalue(1218), 1000) / ((!flag) ? 1 : 2)) / 1000;
if (dmg <= 0 && EClass.rnd(4) == 0)
{
dmg++;
}
if (dmg >= MaxHP / 10 && Evalue(68) > 0)
{
int num5 = MaxHP / 10;
int num6 = dmg - num5;
num6 = num6 * 100 / (200 + Evalue(68) * 10);
dmg = num5 + num6;
int num6 = MaxHP / 10;
int num7 = dmg - num6;
num7 = num7 * 100 / (200 + Evalue(68) * 10);
dmg = num6 + num7;
}
}
if (origin != null && origin.IsPC && EClass.pc.Evalue(654) > 0)
{
dmg = 0;
}
int num7 = Mathf.Clamp(dmg * 6 / MaxHP, 0, 4) + ((dmg > 0) ? 1 : 0);
int num8 = Mathf.Clamp(dmg * 6 / MaxHP, 0, 4) + ((dmg > 0) ? 1 : 0);
if (Evalue(1421) > 0)
{
int num8 = 0;
int num9 = dmg;
int num9 = 0;
int num10 = dmg;
if (hp > 0)
{
num9 = dmg - hp;
num10 = dmg - hp;
hp -= dmg;
num8 += dmg;
num9 += dmg;
if (hp < 0 && Chara.mana.value >= 0)
{
num8 += hp;
num9 += hp;
hp = 0;
}
}
{
if (Evalue(1421) >= 2)
{
num9 /= 2;
num10 /= 2;
}
dmg = num9;
dmg = num10;
if (Chara.mana.value > 0)
{
num9 -= Chara.mana.value;
num10 -= Chara.mana.value;
Chara.mana.value -= dmg;
num8 += dmg;
num9 += dmg;
}
if (Chara.mana.value <= 0)
{
hp -= num9;
num8 += num9;
hp -= num10;
num9 += num10;
}
}
dmg = num8;
dmg = num9;
}
else
{
aI_PracticeDummy.totalDamage += dmg;
}
ZoneInstanceBout zoneInstanceBout = EClass._zone.instance as ZoneInstanceBout;
bool flag = false;
bool flag2 = false;
if (hp < 0 && Religion.recentWrath == null)
{
if (isRestrained && IsPCFaction && EClass._zone.IsPCFaction && (!IsPC || (Chara.ai is AI_Torture && Chara.ai.IsRunning)))
else if (Chara.host != null || (weapon != null && weapon.HasElement(485)))
{
EvadeDeath();
flag = true;
flag2 = true;
}
else if (zoneInstanceBout != null && (bool)LayerDrama.Instance)
{
if (EClass.player.invlunerable)
{
EvadeDeath();
goto IL_0bcf;
goto IL_0cdd;
}
}
if (IsPC && Evalue(1220) > 0 && Chara.stamina.value >= Chara.stamina.max / 2)
}
}
}
goto IL_0bcf;
IL_0bcf:
goto IL_0cdd;
IL_0cdd:
if (trait.CanBeAttacked)
{
renderer.PlayAnime(AnimeID.HitObj);
PlaySound("revive");
return;
}
foreach (Chara chara3 in EClass._map.charas)
foreach (Chara chara4 in EClass._map.charas)
{
if (Chara.IsFriendOrAbove(chara3) && chara3.HasElement(1408) && chara3.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara3.GetInt(58) && (!chara3.IsPCFaction || IsPCFaction))
if (Chara.IsFriendOrAbove(chara4) && chara4.HasElement(1408) && chara4.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara4.GetInt(58) && (!chara4.IsPCFaction || IsPCFaction))
{
Msg.alwaysVisible = true;
Msg.Say("layhand", chara3, this);
Msg.Say("layhand", chara4, this);
Msg.Say("pray_heal", this);
hp = MaxHP;
Chara.AddCondition<ConInvulnerable>();
PlayEffect("revive");
PlaySound("revive");
chara3.SetInt(58, EClass.world.date.GetRawDay());
chara4.SetInt(58, EClass.world.date.GetRawDay());
return;
}
}
}
else if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin != null)
{
(IsPC ? EClass.pc : origin).Say("dmgMelee" + num7 + (IsPC ? "pc" : ""), origin, this);
(IsPC ? EClass.pc : origin).Say("dmgMelee" + num8 + (IsPC ? "pc" : ""), origin, this);
}
else if (isChara)
{
int num10 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
if (num7 >= num10)
int num11 = ((attackSource != AttackSource.Condition && attackSource != AttackSource.WeaponEnchant) ? 1 : 2);
if (num8 >= num11)
{
if (e != Element.Void)
{
Say("dmg_" + e.source.alias, this);
}
if (e == Element.Void || num7 >= 2)
if (e == Element.Void || num8 >= 2)
{
Say("dmg" + num7, this);
Say("dmg" + num8, this);
}
}
}
if (isChara)
{
if (flag)
if (flag2)
{
if (!Chara.HasCondition<ConFaint>())
{
{
origin.HealHP(Mathf.Clamp(EClass.rnd(dmg * (50 + eleP) / 500 + 5), 1, origin.MaxHP / 5 + EClass.rnd(10)));
}
if ((attackSource == AttackSource.Melee || attackSource == AttackSource.Range) && origin.Dist(this) <= 1)
if (attackSource == AttackSource.Melee || attackSource == AttackSource.Range)
{
if (attackSource == AttackSource.Melee && HasElement(1221))
int num12 = origin.Dist(this);
if (attackSource == AttackSource.Melee && HasElement(1221) && num12 <= Evalue(1221))
{
int ele2 = ((Chara.MainElement == Element.Void) ? 924 : Chara.MainElement.id);
if (id == "hedgehog_ether")
Say("reflect_thorne", this, origin);
origin.DamageHP(Mathf.Clamp(dmg / 20, 1, MaxHP / 20), ele2, Power, AttackSource.Condition);
}
if (HasElement(1223))
if (HasElement(1223) && num12 <= Evalue(1223))
{
int ele3 = ((Chara.MainElement == Element.Void) ? 923 : Chara.MainElement.id);
Say("reflect_acid", this, origin);
}
}
}
int num11 = ((EClass.rnd(2) == 0) ? 1 : 0);
int num13 = ((EClass.rnd(2) == 0) ? 1 : 0);
if (attackSource == AttackSource.Condition)
{
num11 = 1 + EClass.rnd(2);
num13 = 1 + EClass.rnd(2);
}
if (num11 > 0)
if (num13 > 0)
{
bool flag2 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
AddBlood(num11, flag2 ? 6 : (-1));
bool flag3 = Chara.HasCondition<ConPoison>() || ((e.id == 915 || e.id == 923) && ResistLv(Evalue(955)) < 4);
AddBlood(num13, flag3 ? 6 : (-1));
}
bool flag3 = true;
bool flag4 = true;
switch (e.id)
{
case 910:
}
break;
case 918:
flag3 = false;
flag4 = false;
if (Chance(30 + eleP / 5, 100))
{
Chara.AddCondition<ConParalyze>(eleP);
}
break;
case 914:
flag3 = false;
flag4 = false;
if (EClass.rnd(3) != 0)
{
if (Chance(30 + eleP / 5, 100))
}
break;
case 920:
flag3 = false;
flag4 = false;
if (Chance(5 + eleP / 25, 40))
{
Chara.AddCondition<ConBlind>(eleP / 2);
Chara.AddCondition<ConGravity>(2000);
Condition.ignoreEffect = false;
}
if (Chara.conSleep != null && flag3)
if (Chara.conSleep != null && flag4)
{
Chara.conSleep.Kill();
}
if (IsPC)
{
float num12 = (float)hp / (float)MaxHP;
float num14 = (float)hp / (float)MaxHP;
if (Evalue(1421) > 0)
{
num12 = (float)Chara.mana.value / (float)Chara.mana.max;
num14 = (float)Chara.mana.value / (float)Chara.mana.max;
}
if (num12 < 0.3f)
if (num14 < 0.3f)
{
PlaySound("heartbeat", 1f - num12 * 2f);
PlaySound("heartbeat", 1f - num14 * 2f);
}
}
if (!IsPC && hp < MaxHP / 5 && Evalue(423) <= 0 && dmg * 100 / MaxHP + 10 > EClass.rnd(IsPowerful ? 400 : 150) && !HasCondition<ConFear>())
@@ -4684,29 +4706,29 @@ void ProcAbsorb()
int valueOrDefault2 = (origin.Evalue(661) + weapon?.Evalue(661, ignoreGlobalElement: true)).GetValueOrDefault();
if (valueOrDefault > 0 && attackSource == AttackSource.Melee && origin.isChara && !origin.Chara.ignoreSPAbsorb && Chara.IsHostile(origin as Chara))
{
int num13 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num13);
int num15 = EClass.rnd(3 + Mathf.Clamp(dmg / 100, 0, valueOrDefault / 10));
origin.Chara.stamina.Mod(num15);
if (IsAliveInCurrentZone)
{
Chara.stamina.Mod(-num13);
Chara.stamina.Mod(-num15);
}
}
if (origin.HasElement(1350) && attackSource == AttackSource.Melee)
{
int num14 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
origin.Chara.mana.Mod(num14);
int num16 = EClass.rndHalf(2 + Mathf.Clamp(dmg / 10, 0, origin.Chara.GetPietyValue() + 10));
origin.Chara.mana.Mod(num16);
if (IsAliveInCurrentZone)
{
Chara.mana.Mod(-num14);
Chara.mana.Mod(-num16);
}
}
if (valueOrDefault2 > 0 && attackSource == AttackSource.Melee)
{
int num15 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
origin.Chara.mana.Mod(num15);
int num17 = EClass.rnd(2 + Mathf.Clamp(dmg / 10, 0, valueOrDefault2 + 10));
origin.Chara.mana.Mod(num17);
if (IsAliveInCurrentZone)
{
Chara.mana.Mod(-num15);
Chara.mana.Mod(-num17);
}
}
}
CardRenderer
@@ -38,16 +38,13 @@ public Vector3 PositionCenter()
public virtual void SetOwner(Card c)
{
owner = c;
if (data == null)
if (owner.trait is TraitFakeBlock)
{
if (owner.trait is TraitFakeBlock)
{
data = EClass.sources.blocks.map[owner.refVal].renderData;
}
else
{
data = owner.sourceCard.renderData;
}
data = EClass.sources.blocks.map[owner.refVal].renderData;
}
else if (data == null)
{
data = owner.sourceCard.renderData;
}
isChara = c.isChara;
usePass = data.pass != null;
@@ -269,7 +266,7 @@ public override void Draw(RenderParam p, ref Vector3 v, bool drawShadow)
if (drawShadow && shadow != 1 && SubPassData.Current.shadow && (!flag2 || owner.IsPC))
{
bool flag3 = ((!isChara) ? (owner.dir % 2 == 1) : (owner.dir == 1 || owner.dir == 2));
EClass.scene.screenElin.tileMap.passShadow.AddShadow(position.x + (flag3 ? (-1f) : 1f) * renderData.offsetShadow.x, position.y + renderData.offsetShadow.y + (owner.TileType.UseMountHeight ? 0f : p.shadowFix) - RenderObject.altitudeFix * (float)owner.altitude, position.z + renderData.offsetShadow.z, ShadowData.Instance.items[shadow], pref, prefIndex, p.snow);
EClass.scene.screenElin.tileMap.passShadow.AddShadow(position.x + (flag3 ? (-1f) : 1f) * renderData.offsetShadow.x, position.y + renderData.offsetShadow.y + (owner.TileType.UseMountHeight ? 0f : p.shadowFix) - (owner.isChara ? 0f : (RenderObject.altitudeFix * (float)owner.altitude)), position.z + renderData.offsetShadow.z, ShadowData.Instance.items[shadow], pref, prefIndex, p.snow);
}
if (usePass)
{
CodexManager
@@ -72,7 +72,7 @@ public List<CardRow> ListKills()
List<CardRow> list = new List<CardRow>();
foreach (KeyValuePair<string, CodexCreature> creature in creatures)
{
if (creature.Value.kills > 0)
if (creature.Value.kills > 0 || creature.Value.droppedCard)
{
CardRow cardRow = EClass.sources.cards.map.TryGetValue(creature.Key);
if (cardRow != null && !cardRow.HasTag(CTAG.noRandomProduct))
FEAT
@@ -115,14 +115,16 @@ public class FEAT
public const int featDefender = 1649;
public const int featElea = 1213;
public const int featFairyResist = 1212;
public const int featManaMeat = 1421;
public const int featFairyResist = 1212;
public const int featElea = 1213;
public const int featMilitant = 1419;
public const int featMeatCushion = 1241;
public const int featGod_element1 = 1300;
public const int featGod_earth1 = 1305;
@@ -137,14 +139,14 @@ public class FEAT
public const int featGod_luck1 = 1330;
public const int featGod_harmony1 = 1335;
public const int featGod_oblivion1 = 1340;
public const int featGod_trickery1 = 1345;
public const int featMassSummoner = 1240;
public const int featGod_moonshadow1 = 1350;
public const int featGod_strife1 = 1355;
public const int featWarrior = 1400;
public const int featThief = 1401;
@@ -163,11 +165,11 @@ public class FEAT
public const int featPaladin2 = 1408;
public const int featGod_strife1 = 1355;
public const int featMassSummoner = 1240;
public const int featDemon = 1239;
public const int featBoost = 1409;
public const int featElder = 1238;
public const int featDemon = 1239;
public const int featRoran = 1237;
@@ -197,10 +199,10 @@ public class FEAT
public const int featLittleOne = 1229;
public const int featGolem = 1217;
public const int featAdam = 1230;
public const int featGolem = 1217;
public const int featNirvana = 1231;
public const int featBaby = 1232;
@@ -213,11 +215,11 @@ public class FEAT
public const int featNorland = 1236;
public const int featBoost = 1409;
public const int featElder = 1238;
public const int featReboot = 1410;
public const int featGod_oblivion1 = 1340;
public const int featGod_harmony1 = 1335;
public const int featLuckyCat = 1412;
@@ -235,20 +237,20 @@ public class FEAT
public const int featEarthStrength = 1411;
public static readonly int[] IDS = new int[116]
public static readonly int[] IDS = new int[117]
{
1216, 1644, 1643, 1642, 1641, 1640, 1636, 1635, 1634, 1633,
1632, 1631, 1630, 1629, 1628, 1627, 1626, 1625, 1624, 1623,
1622, 1621, 1620, 1612, 1611, 1610, 1645, 1646, 1647, 1648,
1215, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1209, 1210, 1422, 1211, 1214, 1659, 1658, 1657, 1656, 1655,
1654, 1653, 1652, 1651, 1650, 1649, 1213, 1421, 1212, 1419,
1300, 1305, 1310, 1315, 1320, 1325, 1330, 1335, 1345, 1240,
1350, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408,
1355, 1239, 1238, 1237, 1420, 1218, 1219, 1220, 1221, 1222,
1223, 1224, 1225, 1226, 1227, 1228, 1229, 1217, 1230, 1231,
1232, 1233, 1234, 1235, 1236, 1409, 1410, 1340, 1412, 1413,
1414, 1415, 1416, 1417, 1418, 1411
1654, 1653, 1652, 1651, 1650, 1649, 1212, 1421, 1213, 1419,
1241, 1300, 1305, 1310, 1315, 1320, 1325, 1330, 1340, 1345,
1350, 1355, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
1408, 1240, 1409, 1239, 1237, 1420, 1218, 1219, 1220, 1221,
1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230, 1217,
1231, 1232, 1233, 1234, 1235, 1236, 1238, 1410, 1335, 1412,
1413, 1414, 1415, 1416, 1417, 1418, 1411
};
}
public class Feat : Element
FOOD
@@ -6,13 +6,13 @@ public class FOOD
public const int food_poison = 702;
public const int food_love = 703;
public const int food_bug = 704;
public const int gainWeight = 705;
public const int loseWeight = 706;
public const int food_love = 703;
public const int food_bug = 704;
public const int kirimi = 707;
public const int food_human = 708;
@@ -20,13 +20,13 @@ public class FOOD
public const int justcooked = 757;
public const int food_god = 758;
public const int loseWeight = 706;
public const int kirimi = 707;
public const int food_god = 758;
public static readonly int[] IDS = new int[12]
{
700, 701, 702, 703, 705, 706, 704, 708, 709, 757,
758, 707
700, 701, 702, 704, 705, 703, 707, 708, 709, 757,
706, 758
};
}
MUTATION
@@ -6,27 +6,27 @@ public class MUTATION
public const int mutationSpeedN = 1519;
public const int mutationSkin = 1510;
public const int mutationSpeed = 1518;
public const int mutationSkinN = 1511;
public const int mutationSkin = 1510;
public const int mutationDexN = 1515;
public const int mutationRegen = 1516;
public const int mutationDex = 1514;
public const int mutationEyeN = 1513;
public const int mutationEye = 1512;
public const int mutationSkinN = 1511;
public const int mutationCha = 1522;
public const int mutationRegenN = 1517;
public const int mutationRegen = 1516;
public const int mutationChaN = 1523;
public const int mutationSpeed = 1518;
public const int mutationRegenN = 1517;
public const int mutationBrainN = 1525;
@@ -82,8 +82,8 @@ public class MUTATION
public static readonly int[] IDS = new int[40]
{
1521, 1520, 1519, 1510, 1511, 1515, 1516, 1514, 1513, 1512,
1522, 1517, 1523, 1518, 1525, 1565, 1564, 1563, 1524, 1561,
1521, 1520, 1519, 1518, 1510, 1515, 1514, 1513, 1512, 1511,
1522, 1516, 1523, 1517, 1525, 1565, 1564, 1563, 1524, 1561,
1560, 1559, 1558, 1557, 1556, 1555, 1554, 1562, 1552, 1553,
1527, 1528, 1529, 1530, 1526, 1532, 1533, 1550, 1551, 1531
};
Net
@@ -62,13 +62,13 @@ public class DownloadCahce
public List<ChatLog> chatList;
private const string urlScript = "http://ylva.php.xdomain.jp/script/";
public static string urlScript = "http://elin.cloudfree.jp/script/";
private const string urlChat = "http://ylva.php.xdomain.jp/script/chat/";
public static string urlChat = urlScript + "chat/";
private const string urlVote = "http://ylva.php.xdomain.jp/script/vote/";
public static string urlVote = urlScript + "vote/";
private const string urlUpload = "http://ylva.php.xdomain.jp/script/uploader/";
public static string urlUpload = urlScript + "uploader/";
public static bool isUploading;
@@ -136,7 +136,7 @@ public static async UniTask<bool> UploadFile(string id, string password, string
Debug.Log(password);
Debug.Log(tag);
Debug.Log(array.Length);
using (UnityWebRequest www = UnityWebRequest.Post("http://ylva.php.xdomain.jp/script/uploader/uploader.php", wWWForm))
using (UnityWebRequest www = UnityWebRequest.Post(urlUpload + "uploader.php", wWWForm))
{
try
{
@@ -170,7 +170,7 @@ public static async UniTask<FileInfo> DownloadFile(DownloadMeta item, string pat
Debug.Log("Returning Cache:" + path + fn);
return new FileInfo(path + fn);
}
using UnityWebRequest www = UnityWebRequest.Get("http://ylva.php.xdomain.jp/script/uploader/files/" + idLang + "/" + fn);
using UnityWebRequest www = UnityWebRequest.Get(urlUpload + "files/" + idLang + "/" + fn);
www.downloadHandler = new DownloadHandlerFile(path + fn);
try
{
@@ -197,7 +197,7 @@ public static async UniTask<FileInfo> DownloadFile(DownloadMeta item, string pat
public static async UniTask<List<DownloadMeta>> GetFileList(string idLang)
{
List<DownloadMeta> list = new List<DownloadMeta>();
using UnityWebRequest www = UnityWebRequest.Get("http://ylva.php.xdomain.jp/script/uploader/files/" + idLang + "/index.txt");
using UnityWebRequest www = UnityWebRequest.Get(urlUpload + "files/" + idLang + "/index.txt");
try
{
await www.SendWebRequest();
@@ -245,7 +245,7 @@ public static async UniTask<bool> SendVote(int id, string idLang)
wWWForm.AddField("vote", id.ToString() ?? "");
wWWForm.AddField("idLang", idLang);
wWWForm.AddField("submit", "Send");
using UnityWebRequest www = UnityWebRequest.Post("http://ylva.php.xdomain.jp/script/vote/vote.php", wWWForm);
using UnityWebRequest www = UnityWebRequest.Post(urlVote + "vote.php", wWWForm);
await www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
{
@@ -269,7 +269,7 @@ public static async UniTask<List<VoteLog>> GetVote(string idLang)
List<VoteLog> list = new List<VoteLog>();
try
{
string uri = $"http://ylva.php.xdomain.jp/script/vote/logs/data_{idLang}.txt";
string uri = string.Format(urlVote + "logs/data_{0}.txt", idLang);
using UnityWebRequest www = UnityWebRequest.Get(uri);
await www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
@@ -336,7 +336,7 @@ public static async UniTask<bool> SendChat(string name, string msg, ChatCategory
wWWForm.AddField("idLang", idLang);
try
{
using UnityWebRequest www = UnityWebRequest.Post("http://ylva.php.xdomain.jp/script/chat/chat.php", wWWForm);
using UnityWebRequest www = UnityWebRequest.Post(urlChat + "chat.php", wWWForm);
await www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
{
@@ -368,7 +368,7 @@ public static async UniTask<List<ChatLog>> GetChat(ChatCategory cat, string idLa
{
idLang = "DEBUG";
}
string uri = $"http://ylva.php.xdomain.jp/script/chat/logs/all_{idLang}.json";
string uri = string.Format(urlChat + "logs/all_{0}.json", idLang);
using UnityWebRequest www = UnityWebRequest.Get(uri);
await www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
SKILL
@@ -18,7 +18,7 @@ public class SKILL
public const int marksman = 133;
public const int tactics = 132;
public const int fishing = 245;
public const int climbing = 242;
@@ -54,7 +54,7 @@ public class SKILL
public const int eyeofmind = 134;
public const int fishing = 245;
public const int twowield = 131;
public const int spotting = 210;
@@ -132,7 +132,7 @@ public class SKILL
public const int gathering = 250;
public const int twowield = 131;
public const int tactics = 132;
public const int blacksmith = 256;
@@ -268,13 +268,13 @@ public class SKILL
public static readonly int[] IDS = new int[133]
{
50, 109, 110, 111, 120, 122, 123, 130, 133, 132,
50, 109, 110, 111, 120, 122, 123, 130, 133, 245,
242, 241, 240, 237, 235, 230, 227, 226, 225, 220,
207, 200, 152, 151, 150, 135, 134, 245, 210, 102,
207, 200, 152, 151, 150, 135, 134, 131, 210, 102,
107, 71, 70, 68, 67, 66, 65, 72, 64, 61,
60, 57, 56, 55, 51, 62, 73, 74, 75, 106,
105, 104, 103, 101, 100, 93, 92, 91, 90, 80,
79, 78, 77, 76, 108, 250, 131, 256, 916, 917,
79, 78, 77, 76, 108, 250, 132, 256, 916, 917,
918, 919, 920, 921, 922, 923, 924, 925, 926, 950,
951, 952, 915, 953, 956, 957, 958, 959, 960, 961,
962, 963, 964, 965, 970, 971, 972, 255, 954, 914,
SerializedCards
}
card2.SetObj(5, null);
}
if (card2.trait is TraitFakeBlock)
{
card2._CreateRenderer();
}
if (addToZone)
{
EClass._zone.AddCard(card2, card2.pos);
Thing
@@ -267,7 +267,7 @@ public override void OnCreate(int genLv)
{
if (bp.qualityBonus == 0)
{
num4 = EClass.rnd(EClass.rnd(12) + 1);
num4 = EClass.rnd(EClass.rnd(14) + 1);
if (num4 == 1 && EClass.rnd(3) != 0)
{
num4 = 0;
TraitFakeBlock
@@ -6,7 +6,10 @@ public class TraitFakeBlock : Trait
public override void OnCreate(int lv)
{
owner.refVal = 1;
if (owner.refVal == 0)
{
owner.refVal = 1;
}
}
public override void OnCrafted(Recipe recipe, List<Thing> ings)