EA 23.276 Nightly Patch 2
February 24, 2026
46 files modified. 7 new files created.
Important Changes
Possible breaking changes. Click the filename to view the chunk.
Card (1)
public void MakeRefFrom(Card c1, Card c2 = null)
public void MakeRefFrom(Card c1, Card c2 = null, bool simple = false) Chara (2)
public bool HasMinion(string id) public void ReleaseMinion()
public void UnmakeMinion() QuestWedding (2)
public override int GetRewardPlat(int money) public override void OnInit()
public override void OnDropReward() ABILITY
public class ABILITY
{
public const int TaskHarvest = 5053;
public const int ActSlime = 6608;
public const int ActPray = 6050;
public const int AI_Steal = 6011;
public const int ActDreamBug = 6020;
public const int ActQuickCraft = 6012;
public const int ActParasite = 6019;
public const int AI_PassTime = 6013;
public const int AI_SelfHarm = 6015;
public const int ActRide = 6018;
public const int AI_SelfHarm = 6015;
public const int ActParasite = 6019;
public const int AI_PassTime = 6013;
public const int ActDreamBug = 6020;
public const int ActPray = 6050;
public const int ActEscape = 6400;
public const int ActQuickCraft = 6012;
public const int ActSuicide = 6410;
public const int AI_Meditate = 6003;
public const int ActDuplicate = 6420;
public const int AI_PlayMusic = 6001;
public const int ActRush = 6450;
public const int ActRestrain = 5055;
public const int ActCrabBreathe = 6500;
public const int AI_Bladder = 5054;
public const int ActCurse = 6600;
public const int ActBash = 5052;
public const int ActEntangle = 6601;
public const int ActZap = 5051;
public const int ActDraw = 6602;
public const int AI_Steal = 6011;
public const int ActNTR = 6603;
public const int ActSuicide = 6410;
public const int ActKiss = 6628;
public const int ActDuplicate = 6420;
public const int ActDrainBlood = 6626;
public const int ActRush = 6450;
public const int ActGazeMana = 6623;
public const int ActGazeMutation = 6622;
public const int ActGazeInsane = 6621;
public const int ActGazeDim = 6620;
public const int ActTouchDrown = 6613;
public const int AI_Meditate = 6003;
public const int ActTouchSleep = 6612;
public const int ActTouchDrown = 6613;
public const int ActFear = 6611;
public const int ActWeaken = 6610;
public const int ActSlime = 6608;
public const int ActBloodsuck = 6607;
public const int ActBurnMana = 6606;
public const int ActCryRage = 6604;
public const int ActNTR = 6603;
public const int ActTouchSleep = 6612;
public const int ActDraw = 6602;
public const int AI_PlayMusic = 6001;
public const int ActEntangle = 6601;
public const int ActRestrain = 5055;
public const int ActCurse = 6600;
public const int AI_Bladder = 5054;
public const int ActCrabBreathe = 6500;
public const int TaskBuild = 5035;
public const int AI_Sleep = 5050;
public const int GoalIdle = 5034;
public const int AI_OpenLock = 5049;
public const int ActCancelTask = 5033;
public const int ActItem = 5048;
public const int AI_Equip = 5032;
public const int ActPick = 5047;
public const int AI_Deconstruct = 5031;
public const int GoalSleep = 5027;
public const int AI_ReleaseHeld = 5030;
public const int AI_Haul = 5026;
public const int TaskMoveInstalled = 5036;
public const int AI_Grab = 5025;
public const int AI_Offer = 5029;
public const int ActWait = 5000;
public const int GoalSleep = 5027;
public const int ActMelee = 5001;
public const int TaskSleepOnBed = 5022;
public const int Melee = 5002;
public const int TaskGoOut = 5023;
public const int Ranged = 5003;
public const int AI_Eat = 5024;
public const int Sleep = 5004;
public const int AI_Grab = 5025;
public const int Wait = 5005;
public const int AI_Haul = 5026;
public const int Shoot = 5006;
public const int ActReleaseHeld = 5028;
public const int Use = 5007;
public const int ActDeepKiss = 6629;
public const int General = 5008;
public const int ActNoItem = 5037;
public const int TaskMine = 5009;
public const int AI_Fish = 5039;
public const int TaskDig = 5010;
public const int TaskHarvest = 5053;
public const int TaskCut = 5011;
public const int ActBash = 5052;
public const int ActReleaseHeld = 5028;
public const int ActZap = 5051;
public const int ActGazeMutation = 6622;
public const int AI_Sleep = 5050;
public const int AI_Offer = 5029;
public const int AI_OpenLock = 5049;
public const int AI_Deconstruct = 5031;
public const int ActItem = 5048;
public const int ActInstall = 5046;
public const int ActThrow = 5038;
public const int ActPick = 5047;
public const int AI_Drink = 5045;
public const int ActRanged = 5040;
public const int AI_Fish = 5039;
public const int ActThrow = 5038;
public const int ActNoItem = 5037;
public const int TaskMoveInstalled = 5036;
public const int TaskBuild = 5035;
public const int ActInstall = 5046;
public const int GoalIdle = 5034;
public const int ActInsult = 6630;
public const int ActCancelTask = 5033;
public const int ActCatHuffing = 6627;
public const int AI_Equip = 5032;
public const int ActSteal = 6640;
public const int AI_ReleaseHeld = 5030;
public const int TaskReadBoard = 5019;
public const int ActGazeMana = 6623;
public const int TaskFarm = 5020;
public const int ActBloodsuck = 6607;
public const int breathe_Void = 50216;
public const int ActCatHuffing = 6627;
public const int breathe_Impact = 50215;
public const int breathe_Fire = 50200;
public const int breathe_Cut = 50214;
public const int breathe_Cold = 50201;
public const int breathe_Acid = 50213;
public const int breathe_Lightning = 50202;
public const int TaskPick = 5018;
public const int breathe_Darkness = 50203;
public const int breathe_Ether = 50212;
public const int breathe_Mind = 50204;
public const int breathe_Chaos = 50210;
public const int breathe_Poison = 50205;
public const int breathe_Holy = 50209;
public const int breathe_Nether = 50206;
public const int breathe_Nerve = 50208;
public const int breathe_Sound = 50207;
public const int breathe_Nerve = 50208;
public const int breathe_Holy = 50209;
public const int breathe_Nether = 50206;
public const int ActDrainBlood = 6626;
public const int ActScream = 6631;
public const int breathe_Magic = 50211;
public const int breathe_Ether = 50212;
public const int breathe_Acid = 50213;
public const int SpTransmuteShadow = 8795;
public const int TaskTalk = 5017;
public const int breathe_Cut = 50214;
public const int TaskTame = 5016;
public const int breathe_Void = 50216;
public const int TaskAttack = 5015;
public const int AI_Goto = 5012;
public const int ActWait = 5000;
public const int ActAttack = 5013;
public const int ActMelee = 5001;
public const int TaskPlow = 5014;
public const int Melee = 5002;
public const int TaskAttack = 5015;
public const int Ranged = 5003;
public const int TaskTame = 5016;
public const int Sleep = 5004;
public const int TaskTalk = 5017;
public const int Wait = 5005;
public const int TaskPick = 5018;
public const int Shoot = 5006;
public const int TaskReadBoard = 5019;
public const int Use = 5007;
public const int TaskFarm = 5020;
public const int General = 5008;
public const int TaskTrain = 5021;
public const int TaskMine = 5009;
public const int TaskSleepOnBed = 5022;
public const int TaskDig = 5010;
public const int TaskGoOut = 5023;
public const int TaskCut = 5011;
public const int AI_Eat = 5024;
public const int AI_Goto = 5012;
public const int breathe_Impact = 50215;
public const int ActAttack = 5013;
public const int SpTransmuteMimic = 8794;
public const int TaskPlow = 5014;
public const int breathe_Chaos = 50210;
public const int breathe_Mind = 50204;
public const int SpTransmuteBat = 8793;
public const int breathe_Darkness = 50203;
public const int ActScream = 6631;
public const int breathe_Poison = 50205;
public const int ActSteal = 6640;
public const int breathe_Cold = 50201;
public const int ActStealFood = 6641;
public const int ActSwarm = 6662;
public const int ActInsult = 6630;
public const int TaskTrain = 5021;
public const int ActMultiHit = 6663;
public const int ActBladeStorm = 6664;
public const int ActWhirlwind = 6666;
public const int ActMissileBarrage = 6667;
public const int breathe_Lightning = 50202;
public const int ActSummonSpecial = 6800;
public const int ActMultiHit = 6663;
public const int ActWombDark = 6801;
public const int ActDeathSentense = 6802;
public const int StTaunt = 6700;
public const int ActMissileBarrage = 6667;
public const int StManaCost = 6720;
public const int SongSleep = 6750;
public const int breathe_Fire = 50200;
public const int SongTulip = 6751;
public const int SpTransmuteShadow = 8795;
public const int breathe_ = 7000;
public const int SpTransmuteMimic = 8794;
public const int SpTransmuteBat = 8793;
public const int StTaunt = 6700;
public const int ActHeadpat = 6904;
public const int ActKizuamiTrick = 6903;
public const int ActLulwyTrick = 6902;
public const int breathe_ = 7000;
public const int ActJureHeal = 6901;
public const int ActManaAbsorb = 6900;
public const int ActWombDark = 6801;
public const int SongEnd = 6753;
public const int SongValor = 6752;
public const int SongEnd = 6753;
public const int SongTulip = 6751;
public const int SongSleep = 6750;
public const int ActLulwyTrick = 6902;
public static readonly int[] IDS = new int[139]
public static readonly int[] IDS = new int[141]
{
5053, 6050, 6020, 6019, 6018, 6015, 6013, 6400, 6012, 6003,
6001, 5055, 5054, 5052, 5051, 6011, 6410, 6420, 6450, 6621,
6620, 6613, 6612, 6611, 6610, 6608, 6606, 6605, 6604, 6603,
6602, 6601, 6600, 6500, 5050, 5049, 5048, 5047, 5027, 5026,
5025, 5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008,
5009, 5010, 5011, 5028, 6622, 5029, 5031, 5046, 5045, 5044,
5043, 5042, 5041, 5040, 5039, 5038, 5037, 5036, 5035, 5034,
5033, 5032, 5030, 6623, 6607, 6627, 50200, 50201, 50202, 50203,
50204, 50205, 50206, 50207, 50208, 50209, 6626, 50211, 50212, 50213,
8795, 50214, 50216, 5012, 5013, 5014, 5015, 5016, 5017, 5018,
5019, 5020, 5021, 5022, 5023, 5024, 50215, 8794, 50210, 8793,
6631, 6640, 6641, 6642, 6650, 6660, 6661, 6662, 6630, 6664,
6665, 6666, 6667, 6800, 6663, 6802, 6700, 6720, 6750, 6751,
7000, 6904, 6903, 6902, 6901, 6900, 6801, 6752, 6753
6608, 6011, 6012, 6013, 6015, 6018, 6019, 6020, 6050, 6400,
6410, 6420, 6450, 6500, 6600, 6601, 6602, 6603, 6628, 6626,
6623, 6622, 6621, 6620, 6003, 6613, 6611, 6610, 6607, 6606,
6605, 6604, 6612, 6001, 5055, 5054, 5035, 5034, 5033, 5032,
5031, 5030, 5036, 5029, 5027, 5022, 5023, 5024, 5025, 5026,
5028, 6629, 5037, 5039, 5053, 5052, 5051, 5050, 5049, 5048,
5038, 5047, 5045, 5044, 5043, 5042, 5041, 5040, 5046, 6630,
6627, 6640, 5019, 5020, 50216, 50215, 50214, 50213, 5018, 50212,
50210, 50209, 50208, 50207, 50206, 6631, 50211, 5017, 5016, 5015,
5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009,
5010, 5011, 5012, 5013, 5014, 50204, 50203, 50205, 50201, 6641,
6642, 6650, 6660, 6661, 6662, 5021, 6663, 6664, 6665, 6666,
50202, 6800, 6801, 6802, 6667, 6720, 50200, 8795, 8794, 8793,
6700, 6904, 6903, 7000, 6901, 6900, 6753, 6752, 6751, 6750,
6902
};
}
public class Ability : ActAI_Eat
public override bool IsHostileAct
{
get
{
if (target != null)
if (target != null && target.isNPCProperty)
{
return target.isNPCProperty;
return !EClass._zone.HasField(10001);
}
return false;
}public override IEnumerable<Status> Run()
}
int max = ((target.SelfWeight < 100) ? 1 : (2 + (int)Mathf.Sqrt(target.SelfWeight * 2 / 3)));
int turn = 0;
bool isFeastFood = EClass._zone.HasField(10001) && target.GetBool(128);
Progress_Custom seq = new Progress_Custom
{
cancelWhenMoved = false,public override IEnumerable<Status> Run()
onProgress = delegate(Progress_Custom p)
{
target.PlayAnime(AnimeID.Eat);
if (turn == 1 && owner.IsPC && owner.hunger.GetPhase() == 0 && !EClass.debug.godFood)
if (turn == 1 && owner.IsPC && owner.hunger.GetPhase() == 0 && !EClass.debug.godFood && !isFeastFood)
{
owner.Say("eat_full");
p.Cancel();public override IEnumerable<Status> Run()
},
onProgressComplete = delegate
{
if (owner.IsPC && owner.hunger.GetPhase() == 0 && !EClass.debug.godFood)
if (owner.IsPC && owner.hunger.GetPhase() == 0 && !EClass.debug.godFood && !isFeastFood)
{
owner.Say("eat_full");
}AI_Idle
public override IEnumerable<Status> Run()
Thing thing2 = owner.things.Find("polish_powder");
if (thing2 != null && EClass._map.props.installed.Find<TraitGrindstone>() != null)
{
foreach (Thing thing9 in owner.things)
foreach (Thing thing10 in owner.things)
{
if (!thing9.IsEquipment || thing9.encLV >= 0)
if (!thing10.IsEquipment || thing10.encLV >= 0)
{
continue;
}
for (int l = 0; l < 5; l++)
{
if (thing9.encLV >= 0)
if (thing10.encLV >= 0)
{
break;
}
owner.Say("polish", owner, thing9);
thing9.ModEncLv(1);
owner.Say("polish", owner, thing10);
thing10.ModEncLv(1);
thing2.ModNum(-1);
if (thing2.isDestroyed)
{public override IEnumerable<Status> Run()
}
if (flag2)
{
int num = owner.GetCurrency();
if (num >= 20000)
int num2 = owner.GetCurrency();
if (num2 >= 20000)
{
num = 20000;
num2 = 20000;
}
owner.PlaySound("pay");
int num2 = num / 200;
int num3 = num2 / 200;
foreach (Element value2 in owner.elements.dict.Values)
{
if (!(value2.source.category != "skill"))
{
int num3 = num2 * 100 / (100 + (100 + value2.vTempPotential / 2 + value2.ValueWithoutLink) * (100 + value2.vTempPotential / 2 + value2.ValueWithoutLink) / 100);
num3 += 1 + EClass.rnd(3);
owner.elements.ModTempPotential(value2.id, Mathf.Max(1, num3), 9999);
int num4 = num3 * 100 / (100 + (100 + value2.vTempPotential / 2 + value2.ValueWithoutLink) * (100 + value2.vTempPotential / 2 + value2.ValueWithoutLink) / 100);
num4 += 1 + EClass.rnd(3);
owner.elements.ModTempPotential(value2.id, Mathf.Max(1, num4), 9999);
}
}
Msg.Say("party_train", owner, Lang._currency(num));
Msg.Say("party_train", owner, Lang._currency(num2));
owner.PlaySound("ding_potential");
owner.ModCurrency(-num);
owner.ModCurrency(-num2);
}
}
}public override IEnumerable<Status> Run()
{
owner.SetEnemy(chara2.enemy);
}
int num4 = owner.Dist(chara2.pos);
if (owner.source.aiIdle != "root" && num4 > EClass.game.config.tactics.AllyDistance(owner) && EClass._zone.PetFollow && owner.c_minionType == MinionType.Default)
int num5 = owner.Dist(chara2.pos);
if (owner.source.aiIdle != "root" && num5 > EClass.game.config.tactics.AllyDistance(owner) && EClass._zone.PetFollow && owner.c_minionType == MinionType.Default)
{
if (owner.HasAccess(chara2.pos))
{public override IEnumerable<Status> Run()
}
}
}
string id;
int num;
if (owner.isSynced && !owner.IsPCParty)
{
if (owner.IsPCFaction && owner.GetInt(32) + 4320 < EClass.world.date.GetRaw())public override IEnumerable<Status> Run()
}
else if (EClass.player.stats.turns > owner.turnLastSeen + 50 && Los.IsVisible(EClass.pc, owner) && owner.CanSee(EClass.pc))
{
if (EClass.rnd(5) == 0 && owner.hostility >= Hostility.Neutral && EClass.pc.IsPCC && EClass.pc.pccData.state == PCCState.Undie && !EClass.pc.pos.cell.IsTopWaterAndNoSnow)
if (EClass._zone is Zone_Wedding)
{
id = "money";
num = EClass.rnd(EClass.rnd(EClass.rnd(EClass.rnd(500)))) + 1;
string[] strs = new string[4] { "1294", "1294", "1130", "1131" };
ThrowMethod throwMethod = ThrowMethod.Reward;
if (owner.affinity.CurrentStage <= Affinity.Stage.Hate || owner.IsMarried || (EClass.debug.enable && EClass.rnd(10) == 0))
{
owner.Talk("curse_wed");
throwMethod = ThrowMethod.Punish;
SetId("stone", 1);
if (EClass.rnd(3) == 0)
{
SetId("shuriken", 1);
}
if (EClass.rnd(3) == 0)
{
SetId("explosive", 1);
}
if (EClass.rnd(3) == 0)
{
SetId("explosive_mega", 1);
}
if (EClass.rnd(3) == 0)
{
SetId("rock", 1);
}
}
else
{
if (EClass.rnd(2) == 0)
{
owner.PlaySound((EClass.rnd(3) == 0) ? "clap1" : ((EClass.rnd(2) == 0) ? "clap2" : "clap3"));
}
owner.Talk("grats_wed");
if (EClass.rnd(5) == 0)
{
SetId("money2", 1);
}
if (EClass.rnd(4) == 0)
{
SetId("plat", 1);
}
if (EClass.rnd(3) == 0)
{
SetId(strs.RandomItem(), 1);
}
}
Thing thing4 = ThingGen.Create(id, -1, owner.LV).SetNum(num);
thing4.SetRandomDir();
ActThrow.Throw(owner, EClass.pc.pos, thing4, throwMethod);
if (EClass.pc.IsAliveInCurrentZone && throwMethod == ThrowMethod.Reward && thing4.ExistsOnMap && thing4.pos.Equals(EClass.pc.pos) && !strs.Contains(thing4.id))
{
EClass.pc.Pick(thing4);
}
}
else if (EClass.rnd(5) == 0 && owner.hostility >= Hostility.Neutral && EClass.pc.IsPCC && EClass.pc.pccData.state == PCCState.Undie && !EClass.pc.pos.cell.IsTopWaterAndNoSnow)
{
owner.Talk("pervert3");
}public override IEnumerable<Status> Run()
}
if ((flag4 ? (EClass.player.karma >= 90) : (EClass.player.karma <= 10)) && EClass.rnd(10) == 0)
{
Thing t2 = ThingGen.Create("stone");
Thing t2 = ThingGen.Create("stone", -1, owner.LV);
AI_PlayMusic.ignoreDamage = true;
ActThrow.Throw(owner, EClass.pc.pos, t2, ThrowMethod.Punish);
AI_PlayMusic.ignoreDamage = false;public override IEnumerable<Status> Run()
{
if (owner.noMove)
{
foreach (Thing thing10 in owner.pos.Things)
foreach (Thing thing11 in owner.pos.Things)
{
if (thing10.IsInstalled && thing10.trait is TraitGeneratorWheel)
if (thing11.IsInstalled && thing11.trait is TraitGeneratorWheel)
{
owner.Talk("labor");
owner.PlayAnime(AnimeID.Shiver);public override IEnumerable<Status> Run()
}
EClass.Sound.PlayAmbience(owner.trait.IdAmbience, owner.pos.Position(), mtp);
}
if (EClass.rnd(2000) == 0 && owner.IsHuman && (owner.host == null || owner.host.ride != owner))
if (EClass.rnd((EClass._zone is Zone_Wedding && !owner.HasCondition<ConDrunk>()) ? 30 : 2000) == 0 && owner.IsHuman && (owner.host == null || owner.host.ride != owner))
{
Thing thing4 = owner.things.Find((Thing a) => !a.IsNegativeGift && a.trait.CanDrink(owner), recursive: false);
if (thing4 != null && thing4.trait is TraitPotion && owner.IsPCParty)
Thing thing5 = owner.things.Find((Thing a) => !a.IsNegativeGift && a.trait.CanDrink(owner), recursive: false);
if (thing5 != null && thing5.trait is TraitPotion && owner.IsPCParty)
{
thing4 = null;
thing5 = null;
}
bool flag5 = EClass.Branch != null && EClass.Branch.policies.IsActive(2503);
if (owner.homeBranch != null && owner.homeBranch.policies.IsActive(2503))
{
flag5 = true;
}
if (thing4 == null && !flag5)
if (thing5 == null && !flag5)
{
thing4 = ThingGen.Create("crimAle");
owner.Drink(thing4);
thing5 = ThingGen.Create("crimAle");
owner.Drink(thing5);
}
if (thing4 != null && !thing4.isDestroyed)
if (thing5 != null && !thing5.isDestroyed)
{
owner.TryUse(thing4);
owner.TryUse(thing5);
yield return Restart();
}
}public override IEnumerable<Status> Run()
if (EClass.rnd(3) == 0 && owner.IsCat)
{
Chara chara4 = ((EClass.rnd(5) == 0) ? EClass.pc.party.members.RandomItem() : EClass._map.charas.RandomItem());
Thing thing5 = chara4.things.Find<TraitFoodChuryu>();
if (chara4 != owner && thing5 != null)
Thing thing6 = chara4.things.Find<TraitFoodChuryu>();
if (chara4 != owner && thing6 != null)
{
yield return Do(new AI_Churyu
{
churyu = thing5,
churyu = thing6,
slave = chara4
});
}public override IEnumerable<Status> Run()
}
if (EClass.rnd(EClass.debug.enable ? 3 : 30) == 0)
{
Thing thing6 = owner.things.Find<TraitBall>();
if (thing6 == null)
Thing thing7 = owner.things.Find<TraitBall>();
if (thing7 == null)
{
if (!LayerCraft.Instance && !LayerDragGrid.Instance)
{public override IEnumerable<Status> Run()
{
if (EClass.rnd(3) != 0 && chara7 != owner && chara7.Dist(owner) <= 6 && chara7.Dist(owner) >= 3 && Los.IsVisible(chara7, owner))
{
ActThrow.Throw(owner, chara7.pos, thing6);
ActThrow.Throw(owner, chara7.pos, thing7);
break;
}
}public override IEnumerable<Status> Run()
break;
}
List<Thing> list4 = owner.things.List((Thing a) => a.parent == owner && (a.category.id == "spellbook" || a.category.id == "ancientbook" || a.category.id == "skillbook"), onlyAccessible: true);
Thing thing7 = null;
Thing thing8 = null;
if (list4.Count > 0)
{
thing7 = list4.RandomItem();
if (!thing7.trait.CanRead(owner))
thing8 = list4.RandomItem();
if (!thing8.trait.CanRead(owner))
{
thing7 = null;
thing8 = null;
}
}
if (thing7 == null)
if (thing8 == null)
{
if (owner.things.IsFull())
{
break;
}
thing7 = ThingGen.CreateFromCategory((EClass.rnd(5) != 0) ? "spellbook" : "ancientbook");
thing7.isNPCProperty = true;
thing8 = ThingGen.CreateFromCategory((EClass.rnd(5) != 0) ? "spellbook" : "ancientbook");
thing8.isNPCProperty = true;
}
if (!(thing7.id == "1084") || !owner.IsPCFaction)
if (!(thing8.id == "1084") || !owner.IsPCFaction)
{
if (!owner.HasElement(285))
{public override IEnumerable<Status> Run()
}
yield return Do(new AI_Read
{
target = thing7
target = thing8
});
}
break;public override IEnumerable<Status> Run()
}
if (EClass.rnd(100) == 0 && owner.id == "bee")
{
Thing thing8 = EClass._map.ListThing<TraitBeekeep>()?.RandomItem();
if (thing8 != null)
Thing thing9 = EClass._map.ListThing<TraitBeekeep>()?.RandomItem();
if (thing9 != null)
{
yield return DoGoto(thing8.pos);
yield return DoGoto(thing9.pos);
}
}
if (EClass.rnd(10) == 0 && !EClass._zone.IsUnderwater && (owner.race.tag.Contains("water") || owner.source.tag.Contains("water")) && !owner.pos.IsDeepWater)Point FindMovePoint(BaseArea.AccessType type)
}
return null;
}
void SetId(string _id, int _num)
{
id = _id;
num = _num;
}
}
public void IdleActText(string id)AI_PlayMusic
public void ThrowReward(Chara c, bool punish)
}
if (thing == null)
{
thing = ThingGen.Create(text).SetNum(num);
thing = ThingGen.Create(text, -1, owner.LV).SetNum(num);
}
ignoreDamage = true;
ActThrow.Throw(c, owner.pos, thing, (!punish) ? ThrowMethod.Reward : ThrowMethod.Punish);+ActDeepKiss
File Created
public class ActDeepKiss : ActNTR
{
}ActEffect
void AddCon<T>(int rate, int power) where T : Condition
{
CC.PlaySound("clean_floor");
Msg.Say("exterminate");
List<Chara> list2 = EClass._map.charas.Where((Chara c) => c.isCopy && !c.IsPCFaction).ToList();
if (list2.Count == 0)
List<Chara> list3 = EClass._map.charas.Where((Chara c) => c.isCopy && !c.IsPCFaction).ToList();
if (list3.Count == 0)
{
Msg.SayNothingHappen();
return;
}
foreach (Chara item in list2)
foreach (Chara item in list3)
{
item.Say("split_fail", item);
item.PlayEffect("vanish");void AddCon<T>(int rate, int power) where T : Condition
{
return;
}
Thing thing2 = ThingGen.Create("mine");
thing2.c_idRefCard = "dog_mine";
Thing thing = ThingGen.Create("mine");
thing.c_idRefCard = "dog_mine";
Zone.ignoreSpawnAnime = true;
EClass._zone.AddCard(thing2, CC.pos).Install();
EClass._zone.AddCard(thing, CC.pos).Install();
break;
}
case EffectId.LittleSisterMigration:void AddCon<T>(int rate, int power) where T : Condition
Msg.SayNothingHappen();
return;
}
List<Chara> list3 = new List<Chara>();
bool flag6 = false;
List<Chara> list2 = new List<Chara>();
bool flag3 = false;
foreach (Chara chara2 in EClass._map.charas)
{
if (!chara2.IsPCFactionOrMinion && chara2.id == "littleOne")
{
if (flag6)
if (flag3)
{
flag6 = false;
flag3 = false;
continue;
}
list3.Add(chara2);
flag6 = true;
list2.Add(chara2);
flag3 = true;
}
}
if (list3.Count == 0)
if (list2.Count == 0)
{
Msg.SayNothingHappen();
return;
}
EClass.pc.PlaySound("chime_angel");
foreach (Chara item2 in list3)
foreach (Chara item2 in list2)
{
item2.PlayEffect("revive");
item2.Destroy();
}
Msg.Say("little_migration", list3.Count.ToString() ?? "");
EClass._zone.ModInfluence(list3.Count);
EClass.player.stats.sistersDepart += list3.Count;
Msg.Say("little_migration", list2.Count.ToString() ?? "");
EClass._zone.ModInfluence(list2.Count);
EClass.player.stats.sistersDepart += list2.Count;
break;
}
case EffectId.MagicMap:void AddCon<T>(int rate, int power) where T : Condition
TC.PlaySound("curse3");
TC.PlayEffect("curse");
TC.Say("forgetItems", TC);
int num4 = power / 50 + 1 + EClass.rnd(3);
int num3 = power / 50 + 1 + EClass.rnd(3);
List<Thing> source = TC.things.List((Thing t) => t.c_IDTState == 0);
for (int j = 0; j < num4; j++)
for (int j = 0; j < num3; j++)
{
source.RandomItem().c_IDTState = 5;
}void AddCon<T>(int rate, int power) where T : Condition
case EffectId.EnchantArmorGreat:
{
bool armor = id == EffectId.EnchantArmor || id == EffectId.EnchantArmorGreat;
bool flag3 = id == EffectId.EnchantWeaponGreat || id == EffectId.EnchantArmorGreat;
bool flag4 = id == EffectId.EnchantWeaponGreat || id == EffectId.EnchantArmorGreat;
if (!tc.isThing)
{
LayerDragGrid.CreateEnchant(CC, armor, flag3, state);
LayerDragGrid.CreateEnchant(CC, armor, flag4, state);
return;
}
cc.PlaySound("identify");void AddCon<T>(int rate, int power) where T : Condition
tc.ModEncLv(-1);
break;
}
int num3 = (flag3 ? 4 : 2) + (blessed ? 1 : 0);
if (tc.encLV >= num3)
int num4 = (flag4 ? 4 : 2) + (blessed ? 1 : 0);
if (tc.encLV >= num4)
{
cc.Say("enc_resist", tc);
break;void AddCon<T>(int rate, int power) where T : Condition
case EffectId.Identify:
case EffectId.GreaterIdentify:
{
bool flag4 = id == EffectId.GreaterIdentify;
bool flag5 = id == EffectId.GreaterIdentify;
if (flag)
{
Redirect(EffectId.ForgetItems, flag4 ? BlessedState.Cursed : BlessedState.Normal, default(ActRef));
Redirect(EffectId.ForgetItems, flag5 ? BlessedState.Cursed : BlessedState.Normal, default(ActRef));
break;
}
if (!tc.isThing)
{
int count = ((!blessed) ? 1 : (flag4 ? (2 + EClass.rnd(2)) : (3 + EClass.rnd(3))));
LayerDragGrid.CreateIdentify(CC, flag4, state, 0, count);
int count = ((!blessed) ? 1 : (flag5 ? (2 + EClass.rnd(2)) : (3 + EClass.rnd(3))));
LayerDragGrid.CreateIdentify(CC, flag5, state, 0, count);
return;
}
cc.PlaySound("identify");
cc.PlayEffect("identify");
tc.Thing.Identify(cc.IsPCParty, (!flag4) ? IDTSource.Identify : IDTSource.SuperiorIdentify);
tc.Thing.Identify(cc.IsPCParty, (!flag5) ? IDTSource.Identify : IDTSource.SuperiorIdentify);
break;
}
case EffectId.Uncurse:void AddCon<T>(int rate, int power) where T : Condition
LayerDragGrid.CreateUncurse(CC, state);
return;
}
Thing thing = tc.Thing;
if (thing.blessedState == BlessedState.Cursed)
Thing thing3 = tc.Thing;
if (thing3.blessedState == BlessedState.Cursed)
{
thing.SetBlessedState(BlessedState.Normal);
thing3.SetBlessedState(BlessedState.Normal);
}
else if (thing.blessedState == BlessedState.Doomed)
else if (thing3.blessedState == BlessedState.Doomed)
{
thing.SetBlessedState(BlessedState.Normal);
thing3.SetBlessedState(BlessedState.Normal);
}
thing.GetRootCard()?.TryStack(thing);
LayerInventory.SetDirty(thing);
thing3.GetRootCard()?.TryStack(thing3);
LayerInventory.SetDirty(thing3);
break;
}
case EffectId.Lighten:void AddCon<T>(int rate, int power) where T : Condition
}
cc.PlaySound("offering");
cc.PlayEffect("buff");
int num5 = (tc.isWeightChanged ? tc.c_weight : tc.Thing.source.weight);
int num6 = (tc.isWeightChanged ? tc.c_weight : tc.Thing.source.weight);
tc.isWeightChanged = true;
Element orCreateElement = tc.elements.GetOrCreateElement(64);
Element orCreateElement2 = tc.elements.GetOrCreateElement(65);
Element orCreateElement3 = tc.elements.GetOrCreateElement(67);
Element orCreateElement4 = tc.elements.GetOrCreateElement(66);
bool flag5 = tc.IsEquipmentOrRangedOrAmmo || tc.IsThrownWeapon;
bool flag6 = tc.IsEquipmentOrRangedOrAmmo || tc.IsThrownWeapon;
if (flag)
{
num5 = (int)(0.01f * (float)num5 * (float)power * 0.75f + 500f);
if (num5 < 0 || num5 > 10000000)
num6 = (int)(0.01f * (float)num6 * (float)power * 0.75f + 500f);
if (num6 < 0 || num6 > 10000000)
{
num5 = 10000000;
flag5 = false;
num6 = 10000000;
flag6 = false;
}
if (flag5)
if (flag6)
{
if (tc.IsWeapon || tc.IsThrownWeapon || tc.IsAmmo)
{void AddCon<T>(int rate, int power) where T : Condition
}
else
{
num5 = num5 * (100 - power / 10) / 100;
num6 = num6 * (100 - power / 10) / 100;
if (blessed)
{
power /= 4;
}
if (flag5)
if (flag6)
{
if (tc.IsWeapon || tc.IsThrownWeapon || tc.IsAmmo)
{void AddCon<T>(int rate, int power) where T : Condition
}
cc.Say("lighten", tc);
}
tc.c_weight = num5;
tc.c_weight = num6;
tc.SetDirtyWeight();
if (tc.parent == null)
{void AddCon<T>(int rate, int power) where T : Condition
cc.PlayEffect("identify");
cc.Say("reconstruct", tc);
EClass.game.cards.uidNext += EClass.rnd(30);
int num6 = Mathf.Max(tc.genLv, tc.LV, EClass.player.stats.deepest);
int num5 = Mathf.Max(tc.genLv, tc.LV, EClass.player.stats.deepest);
CardBlueprint.Set(new CardBlueprint
{
blesstedState = state
});
Thing thing3 = ThingGen.Create(tc.id, -1, (int)((long)num6 * (long)power / 400));
thing3.genLv = num6;
Thing thing2 = ThingGen.Create(tc.id, -1, (int)((long)num5 * (long)power / 400));
thing2.genLv = num5;
if (tc.c_uidAttune != 0)
{
thing3.c_uidAttune = tc.c_uidAttune;
if (thing3.id == "amulet_engagement" || thing3.id == "ring_engagement")
thing2.c_uidAttune = tc.c_uidAttune;
if ((thing2.id == "amulet_engagement" || thing2.id == "ring_engagement") && tc.c_uidAttune != EClass.pc.uid)
{
thing3.elements.ModBase(484, 3);
thing2.elements.ModBase(484, 3);
}
}
tc.Destroy();
CC.Pick(thing3, msg: false);
CC.Pick(thing2, msg: false);
if (!CC.IsPC)
{
CC.TryEquip(thing3);
CC.TryEquip(thing2);
}
break;
}+ActKiss
File Created
public class ActKiss : Ability
{
public override bool CanPressRepeat => true;
public override bool CanPerform()
{
if (Act.TC == null || !Act.TC.isChara)
{
return false;
}
return true;
}
public override bool Perform()
{
Act.CC.Kiss(Act.TC.Chara);
return true;
}
}ActPlan
public void _Update(PointTarget target)
if (!EClass.pc.isBlind)
{
Thing t = _c.Thing;
if (EClass._zone.HasField(10001) && t.trait.CanEat(EClass.pc))
{
TrySetAct(new AI_Eat
{
target = t
}, t);
}
if (input == ActInput.AllAction)
{
if ((EClass.debug.enable || EClass.player.HasKeyItem("license_illumination")) && t.LightData != null)ActThrow
public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw
EffectIRenderer result = null;
if (c.isSynced || p.IsSync)
{
result = Effect.Get<EffectIRenderer>((t.trait is TraitBall) ? "throw_ball" : "throw").Play((c.isChara && c.Chara.host != null) ? c.Chara.host : c, t, c.pos, p, 0.2f);
result = Effect.Get<EffectIRenderer>((t.trait is TraitBall || t.HasTag(CTAG.throwBall)) ? "throw_ball" : "throw").Play((c.isChara && c.Chara.host != null) ? c.Chara.host : c, t, c.pos, p, 0.2f);
t.renderer.SetFirst(first: false, c.renderer.position);
}
if (!t.HasElement(410) || method == ThrowMethod.Punish)public static EffectIRenderer Throw(Card c, Point p, Card target, Thing t, Throw
EClass._map.deadCharas.Add(chara4.CreateReplacement());
}
traitMonsterBall.chara = chara4;
chara4.ReleaseMinion();
chara4.UnmakeMinion();
EClass._zone.RemoveCard(chara4);
chara4.homeZone = null;
c.ModExp(108, 100);BaseTileMap
public Vector3 GetThingPosition(Card tg, Point p)
public int GetApproximateBlocklight(Cell cell)
{
float num = _baseBrightness + 0.05f;
float num = _baseBrightness + 0.38f;
num = ((!cell.IsSnowTile) ? ((float)((int)(num * 50f) * 262144 + ((cell.lightR >= 64) ? 63 : cell.lightR) * 4096 + ((cell.lightG >= 64) ? 63 : cell.lightG) * 64 + ((cell.lightB >= 64) ? 63 : cell.lightB))) : ((float)((int)(num * 50f) * 262144 + (int)((float)((cell.lightR >= 50) ? 50 : cell.lightR) * snowColor) * 4096 + (int)((float)((cell.lightG >= 50) ? 50 : cell.lightG) * snowColor) * 64 + (int)((float)((cell.lightB >= 50) ? 50 : cell.lightB) * snowColor) + snowColorToken)));
return (int)num;
}CINT
public const int isFiamaChest = 127;
public const int isPartyFood = 128;
public const int dateDeathLock = 130;
public const int fixedValue = 131;CTAG
plant,
antiSpider,
shield,
humanSpeak
humanSpeak,
throwBall
}Card
}
}
}
return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + Evalue(1275) * 50) / 100;
return num * (100 + Evalue(1237) * 30 + Evalue(1273) * 50 + ((Evalue(1275) >= 2) ? 50 : 0)) / 100;
}
public int GetAffinityExpBonus()public Card MakeRefFrom(string id)
return this;
}
public void MakeRefFrom(Card c1, Card c2 = null)
public void MakeRefFrom(Card c1, Card c2 = null, bool simple = false)
{
c_idRefCard = c1.id;
c_altName = (c1.IsPC ? c1.c_altName : c1.GetName(NameStyle.Ref, (!c1.isChara) ? 1 : 0));
c_altName = (c1.IsPC ? c1.c_altName : c1.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c1.isChara) ? 1 : 0));
if (c2 != null)
{
c_idRefCard2 = c2.id;
c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName(NameStyle.Ref, (!c2.isChara) ? 1 : 0));
c_altName2 = (c2.IsPC ? c2.c_altName : c2.GetName((!simple) ? NameStyle.Ref : NameStyle.Simple, (!c2.isChara) ? 1 : 0));
}
c_extraNameRef = (c1.IsPC ? EClass.pc.c_altName : c1.c_extraNameRef);
} {
return EClass.player.lightRadius;
}
return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0) + EvalueMax(490);
return (EClass._map.IsIndoor ? 4 : 5) + (IsPCFaction ? 1 : 0) + EvalueMax(490) + EClass._zone.SightRadiusBonus;
}
public int GetLightRadius() power = EClass.scene.profile.global.playerLightPowerLimit;
}
power *= EClass.scene.profile.light.playerLightMod + (float)EClass.player.customLightMod * EClass.scene.profile.light.playerLightCustomMod;
radius += EvalueMax(490);
radius += EvalueMax(490) + EClass._zone.SightRadiusBonus;
EClass.player.lightRadius = radius;
EClass.player.lightPower = power;
}Chara
orgPos = null;
base.c_summonDuration = 0;
base.isSummon = false;
ReleaseMinion();
UnmakeMinion();
SetInt(32);
Refresh();
}public void Banish(Chara owner)
public void MakeMinion(Chara _master, MinionType type = MinionType.Default)
{
ReleaseMinion();
UnmakeMinion();
Hostility hostility2 = (base.c_originalHostility = (_master.IsPCFaction ? Hostility.Ally : _master.hostility));
this.hostility = hostility2;
base.c_uidMaster = _master.uid;public void MakeMinion(Chara _master, MinionType type = MinionType.Default)
Refresh();
}
public bool HasMinion(string id)
{
foreach (Chara chara in EClass._map.charas)
{
if (chara.c_uidMaster == base.uid)
{
return true;
}
}
return false;
}
public void ReleaseMinion()
public void UnmakeMinion()
{
base.c_uidMaster = 0;
master = null; Refresh();
}
public void BanishAllMinions()
{
List<Chara> list = new List<Chara>();
foreach (Chara chara in EClass._map.charas)
{
if (chara.IsMinion && chara.master == this)
{
list.Add(chara);
}
}
foreach (Chara item in list)
{
item.Banish(this);
}
}
public bool HasMinion(string id)
{
foreach (Chara chara in EClass._map.charas)
{
if (chara.c_uidMaster == base.uid)
{
return true;
}
}
return false;
}
public void SetSummon(int duration)
{
base.c_summonDuration = duration;public override void Die(Element e = null, Card origin = null, AttackSource atta
renderer.RefreshStateIcon();
ClearFOV();
}
if (base.hp >= 0)
{
base.hp = -1;
}
string text = "";
"dead_in".langGame(EClass._zone.Name);
string text2 = ((origin == null) ? "" : origin.GetName(NameStyle.Full));public void Cuddle(Chara c, bool headpat = false)
}
}
public void Kiss(Chara c)
{
EClass.player.forceTalk = true;
Talk("kiss", null, null, IsPC);
PlaySound("kiss");
int num = 2 + EClass.rnd(4) + ((!c.IsPC && c.affinity.CurrentStage < Affinity.Stage.Fond) ? (-EClass.rnd(10)) : 0);
c.ShowEmo((num > 0) ? Emo.love : Emo.sad);
if (num > 0 && EClass.rnd(IsPC ? 100 : 5000) == 0)
{
c.MakeEgg();
}
if (IsPC && this != c)
{
if (c.interest > 0)
{
c.ModAffinity(EClass.pc, num);
c.interest -= 20 + EClass.rnd(10);
}
else
{
c.Say("affinityNone", c, EClass.pc);
}
}
}
public void Slap(Chara c, bool slapToDeath = false)
{
PlaySound("whip");
Say("slap", this, c);
c.PlayAnime(AnimeID.Shiver);
c.DamageHP(slapToDeath ? (c.MaxHP * 2) : (5 + EClass.rndHalf(EClass.pc.MaxHP / 3)), 919, 100, AttackSource.Condition);
c.OnInsulted();
if (slapToDeath && c.IsAliveInCurrentZone)
{
c.Die();
}
}
public Chara SetEnemy(Chara c = null)
{
enemy = c; ShowDialog("_chara", "escort");
return;
}
if (EClass._zone is Zone_Music)
if (EClass._zone is Zone_Music || EClass._zone is Zone_Wedding)
{
ShowDialog("_chara", "party");
return; if (base.c_love != null)
{
base.c_love.dateMarriage = 0;
SetFeat(1275, 0, msg: true);
SetFeat(1275, 0);
EClass.player.stats.divorced++;
}
}CharaBody
public bool Equip(Thing thing, BodySlot slot = null, bool msg = true)
Unequip(slot, refresh: false);
}
Unequip(thing, refresh: false);
if (thing.c_uidAttune != 0)
{
foreach (Thing item in owner.things.List((Thing a) => a.isEquipped && a.c_uidAttune != 0 && (a.id == "amulet_engagement" || a.id == "ring_engagement")))
{
Unequip(item);
}
}
if (thing.parent != owner)
{
if (msg && owner.IsPC && thing.parent is Thing)+CharaMassTransfer
File Created
using System.Collections.Generic;
using Newtonsoft.Json;
public class CharaMassTransfer : EClass
{
[JsonProperty]
public List<CharaOriginalPositionData> list = new List<CharaOriginalPositionData>();
public void Add(Chara c)
{
CharaOriginalPositionData item = new CharaOriginalPositionData
{
uid = c.uid,
uidZone = c.currentZone.uid,
x = c.pos.x,
z = c.pos.z,
noMove = c.noMove
};
list.Add(item);
}
public void Restore()
{
foreach (CharaOriginalPositionData item in list)
{
Chara chara = EClass.game.cards.globalCharas.Find(item.uid);
if (chara != null)
{
chara.MoveZone(EClass.game.spatials.Find(item.uidZone), new ZoneTransition
{
state = ZoneTransition.EnterState.Exact,
x = item.x,
z = item.z
});
chara.pos.x = item.x;
chara.pos.z = item.z;
chara.noMove = item.noMove;
}
}
}
}+CharaOriginalPositionData
File Created
using Newtonsoft.Json;
public class CharaOriginalPositionData : EClass
{
[JsonProperty]
public int uid;
[JsonProperty]
public int uidZone;
[JsonProperty]
public int x;
[JsonProperty]
public int z;
[JsonProperty]
public bool noMove;
}ConSleep
public override void OnRemoved()
{
member.SAN.Mod(-15);
}
if (member.HasElement(1275) && !member.HasCondition<ConRebirth>())
if (member.Evalue(1275) >= 2 && !member.HasCondition<ConRebirth>())
{
member.AddCondition<ConRebirth>();
}CoreDebug
}
if (Input.GetKeyDown(KeyCode.F3))
{
EClass.ui.Say("dawedadwwdaadwawdawd");
EClass.ui.Say("fsefsefsefesf", EClass.core.refs.spriteNoIng);
Chara c2 = EClass._map.charas.RandomItem();
Thing thing = ThingGen.Create("musicbox_memory");
thing.MakeRefFrom(c2, EClass.pc, simple: true);
EClass.pc.Pick(thing);
return;
}
if (Input.GetKeyDown(KeyCode.F4)) {
for (int num4 = hitPoint.detail.things.Count - 1; num4 >= 0; num4--)
{
Thing thing = hitPoint.detail.things[num4];
Debug.Log(thing.id + "/" + thing.Pref.height + "/" + thing.trait?.ToString() + "/" + thing.source.tileType.CanStack + "/" + thing.source.tileType?.ToString() + "/" + thing.isSynced + "/" + RenderObject.syncList.Contains(thing.renderer));
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));
}
}
if (!Application.isEditor) case DebugHotkey.Item:
if (Input.GetKeyDown(KeyCode.Alpha1))
{
Thing thing2 = ThingGen.Create("stairsDown_cave");
EClass._zone.AddCard(thing2, EClass.pc.pos);
thing2.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Thing thing3 = ThingGen.Create("stairs");
Thing thing3 = ThingGen.Create("stairsDown_cave");
EClass._zone.AddCard(thing3, EClass.pc.pos);
thing3.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha3))
if (Input.GetKeyDown(KeyCode.Alpha2))
{
Thing thing4 = ThingGen.Create("sign");
EClass._zone.AddCard(thing4, hitPoint);
Thing thing4 = ThingGen.Create("stairs");
EClass._zone.AddCard(thing4, EClass.pc.pos);
thing4.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha4))
if (Input.GetKeyDown(KeyCode.Alpha3))
{
Thing thing5 = ThingGen.Create("sign2");
Thing thing5 = ThingGen.Create("sign");
EClass._zone.AddCard(thing5, hitPoint);
thing5.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha5))
if (Input.GetKeyDown(KeyCode.Alpha4))
{
Thing thing6 = ThingGen.Create("well");
Thing thing6 = ThingGen.Create("sign2");
EClass._zone.AddCard(thing6, hitPoint);
thing6.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha6))
if (Input.GetKeyDown(KeyCode.Alpha5))
{
Thing thing7 = ThingGen.Create("altar");
Thing thing7 = ThingGen.Create("well");
EClass._zone.AddCard(thing7, hitPoint);
thing7.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha6))
{
Thing thing8 = ThingGen.Create("altar");
EClass._zone.AddCard(thing8, hitPoint);
thing8.SetPlaceState(PlaceState.installed);
}
if (Input.GetKeyDown(KeyCode.Alpha7))
{
Thing t = ThingGen.Create("torch");DOMAIN
public class DOMAIN
{
public const int domOblivion = 813;
public const int domEarth = 812;
public const int domTest = 800;
public const int domLuck = 810;
public const int domElement = 806;
public const int domMachine = 809;
public const int domSurvival = 801;
public const int domHarvest = 808;
public const int domFaith = 802;
public const int domWind = 807;
public const int domMiracle = 803;
public const int domElement = 806;
public const int domArcane = 804;
public const int domComm = 805;
public const int domArcane = 804;
public const int domWind = 807;
public const int domMiracle = 803;
public const int domOblivion = 813;
public const int domFaith = 802;
public const int domMachine = 809;
public const int domHealing = 811;
public const int domLuck = 810;
public const int domEyth = 814;
public const int domHealing = 811;
public const int domTest = 800;
public const int domEarth = 812;
public const int domSurvival = 801;
public const int domEyth = 814;
public const int domHarmony = 815;
public const int domHarvest = 808;
public static readonly int[] IDS = new int[16]
{
813, 812, 810, 809, 808, 807, 806, 805, 804, 803,
802, 811, 814, 800, 801, 815
800, 806, 801, 802, 803, 804, 805, 807, 813, 809,
810, 811, 812, 814, 815, 808
};
}
public class Domain : EClassDramaCustomSequence
{
Choice2("daBout", "_bout");
}
if (c.isDrunk || c.IsMarried || EClass.debug.enable)
if (c.isDrunk || c.HasElement(1275) || EClass.debug.enable)
{
Choice2(flag2 ? "daBird" : "daTail", "_tail");
} }
Step("_factionOther");
Talk("what", StepDefault);
if (!c.IsMarried)
if (!c.IsMarried || EClass.debug.enable)
{
foreach (Thing item5 in EClass.pc.things.List((Thing a) => !a.c_isImportant && !a.isEquipped && a.c_uidAttune == 0 && (a.id == "amulet_engagement" || a.id == "ring_engagement")))
{ });
}
}
if (c.IsMarried && EClass.debug.enable)
if ((c.IsMarried && !c.c_love.IsWed) || EClass.debug.enable)
{
Choice("daWed", "_wed");
} Step("_wed");
Method(delegate
{
TempTalkTopic(c.IsMarried ? "tail4" : (bird + "1"), null);
Choice("yes2", delegate
Thing deed = EClass.pc.things.Find("deed_wedding");
if (deed == null && !EClass.debug.enable)
{
TempTalkTopic(bird + "2", "_wed2");
});
Choice("no2", StepDefault, cancel: true).SetOnClick(RumorChill);
TempTalkTopic("wedding_deed", StepDefault);
}
else if (EClass._zone.IsInstance || !EClass._zone.IsPCFaction)
{
TempTalkTopic("wedding_zone", StepDefault);
}
else
{
TempTalkTopic("wedding_confirm", null);
Choice("yes", delegate
{
TempTalkTopic("wedding_accept", null);
if (deed != null)
{
deed.ModNum(-1);
}
if (c.c_love != null)
{
c.c_love.dateWedding = EClass.world.date.GetRaw();
}
});
Choice("no", StepDefault, cancel: true).SetOnClick(RumorChill);
}
});
Step("_wed2");
Method(delegate
{
EClass.pc.BanishAllMinions();
c.BanishAllMinions();
if (!c.IsPCParty)
{
EClass.pc.party.AddMemeber(c);
}
foreach (Chara item7 in EClass.pc.party.members.ToList())
{
if (item7 != EClass.pc && item7 != c)
{
EClass.pc.party.RemoveMember(item7);
}
}
if (c.host != null)
{
ActRide.Unride(EClass.pc, c == EClass.pc.parasite, talk: false);
}
Quest quest = Quest.Create("wedding", null, c, assignQuest: false);
EClass.game.quests.Start(quest);
Zone z2 = quest.CreateInstanceZone(c);
EClass.pc.MoveZone(z2, ZoneTransition.EnterState.Center);
EClass.pc.MoveZone(z2, new ZoneTransition
{
state = ZoneTransition.EnterState.Exact,
x = 50,
z = 53
});
LayerDrama.Activate("_adv", "general", "wedding", c);
});
End(); Method(delegate
{
TempTalkTopic("blooming1", null);
foreach (Chara item7 in EClass.pc.party.members.Where((Chara c2) => c2.CanBloom()))
foreach (Chara item8 in EClass.pc.party.members.Where((Chara c2) => c2.CanBloom()))
{
Chara c4 = item7;
Chara c4 = item8;
Choice("daBloom".lang(c4.Name), delegate
{
if (EClass._zone.influence < 10) },
onList = delegate
{
foreach (ResearchPlan item8 in plans)
foreach (ResearchPlan item9 in plans)
{
list.Add(item8);
list.Add(item9);
}
}
}; },
onList = delegate
{
foreach (SourceElement.Row item9 in EClass.sources.elements.rows.Where(delegate(SourceElement.Row a)
foreach (SourceElement.Row item10 in EClass.sources.elements.rows.Where(delegate(SourceElement.Row a)
{
if (a.tag.Contains("unused"))
{ return a.category == "skill" && a.categorySub == c.trait.IDTrainer;
}).ToList())
{
list.Add(Element.Create(item9.id));
list.Add(Element.Create(item10.id));
}
}
}; {
SE.Pay();
EClass.pc.ModCurrency(-costIdentify);
foreach (Thing item10 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
foreach (Thing item11 in EClass.pc.things.List((Thing t) => !t.IsIdentified, onlyAccessible: true))
{
item10.Thing.Identify(show: false);
if (!item10.IsInstalled)
item11.Thing.Identify(show: false);
if (!item11.IsInstalled)
{
numSuperior++;
}DramaManager
public void ParseLine(Dictionary<string, string> item)
case "setDialog":
AddEvent(delegate
{
SetDialog(p2);
SetDialog(p2.IsEmpty("Default"));
});
break;
case "Playlist":public void ParseLine(Dictionary<string, string> item)
{
LayerDrama.Instance.SetOnKill(delegate
{
tg.chara.PlaySound("whip");
tg.chara.Say("slap", tg.chara, EMono.pc);
EMono.pc.PlayAnime(AnimeID.Shiver);
EMono.pc.DamageHP(5 + EClass.rndHalf(EMono.pc.MaxHP / 3), 919, 100, AttackSource.Condition);
EMono.pc.OnInsulted();
tg.chara.Slap(EMono.pc);
});
});
break;public bool CheckIF(string IF)
}
}
return false;
case "wedding_whoring":
return false;
case "duponne_mino":
return EMono.pc.things.Find("minohorn") != null;
case "duponne_rescued":DramaOutcome
}
}
public void wedding_setup()
{
Chara chara = tg.chara;
chara.MoveImmediate(new Point(51, 54), focus: false);
EMono.pc.LookAt(chara);
chara.LookAt(EMono.pc);
chara.SetFeat(1275, 2);
}
public void wedding_fail()
{
LayerDrama.Instance.SetOnKill(delegate
{
tg.chara.Slap(EMono.pc, slapToDeath: true);
});
}
public void wedding_kiss()
{
EMono.pc.Kiss(tg.chara);
tg.chara.Kiss(EMono.pc);
}
public void wedding_success()
{
EMono.pc.PlayEffect("aura_heaven");
tg.chara.PlayEffect("aura_heaven");
EMono.pc.PlaySound("godbless");
EMono.pc.Say("married", EMono.pc, tg.chara);
EMono.pc.faith.Talk("wedding");
}
public void give_catball_recipe()
{
EMono.player.DropReward(ThingGen.CreateRecipe("silvercatball"));ELEMENT
public class ELEMENT
{
public const int difficulty = 765;
public const int cute = 752;
public const int air = 763;
public const int antidote = 753;
public const int roasted = 762;
public const int nerve = 754;
public const int recharge = 761;
public const int blood = 755;
public const int comfort = 750;
public const int hotspring = 756;
public const int rare = 751;
public const int roasted = 762;
public const int cute = 752;
public const int stimulant = 760;
public const int antidote = 753;
public const int recharge = 761;
public const int nerve = 754;
public const int air = 763;
public const int blood = 755;
public const int difficulty = 765;
public const int hotspring = 756;
public const int rare = 751;
public const int purity = 759;
public const int stimulant = 760;
public const int comfort = 750;
public const int _void = 0;
public const int d = 3;
public const int lv = 1;
public const int old_antidote = 25;
public const int quality = 2;
public const int piety = 85;
public const int socket = 5;
public const int race = 29;
public const int nutrition = 10;
public const int cure = 26;
public const int weight = 11;
public const int old_heal = 24;
public const int size = 12;
public const int old_detox = 23;
public const int hardness = 13;
public const int cut = 22;
public const int growth = 14;
public const int fire = 21;
public const int heat = 16;
public const int taste = 18;
public const int decay = 17;
public const int taste = 18;
public const int heat = 16;
public const int water = 15;
public const int poison = 20;
public const int fire = 21;
public const int growth = 14;
public const int cut = 22;
public const int lv = 1;
public const int old_detox = 23;
public const int water = 15;
public const int old_heal = 24;
public const int d = 3;
public const int old_antidote = 25;
public const int socket = 5;
public const int cure = 26;
public const int quality = 2;
public const int race = 29;
public const int weight = 11;
public const int piety = 85;
public const int size = 12;
public const int poison = 20;
public const int hardness = 13;
public const int nutrition = 10;
public static readonly int[] IDS = new int[36]
{
765, 763, 762, 761, 750, 751, 752, 753, 754, 755,
756, 759, 760, 0, 3, 1, 2, 5, 10, 11,
12, 13, 14, 16, 17, 18, 15, 21, 22, 23,
24, 25, 26, 29, 85, 20
752, 753, 754, 755, 756, 762, 760, 761, 763, 765,
751, 759, 750, 0, 25, 85, 29, 26, 24, 23,
22, 21, 18, 17, 16, 20, 14, 1, 15, 3,
5, 2, 11, 12, 13, 10
};
}
public class Element : EClassENC
public class ENC
{
public const int noDamage = 654;
public const int living = 653;
public const int eco = 652;
public const int r_PV = 651;
public const int r_DV = 650;
public const int r_life = 640;
public const int mod_cleave = 622;
public const int mod_feint = 623;
public const int mod_frustration = 624;
public const int onlyPet = 655;
public const int r_mana = 641;
public const int permaCurse = 656;
public const int convertCold = 851;
public const int absorbMP = 661;
public const int absorbSP = 662;
public const int eheluck = 663;
public const int boostMachine = 664;
public const int planter = 665;
public const int meleeDistance = 666;
public const int encRagnarok = 667;
public const int convertFire = 850;
public const int mod_flurry = 621;
public const int convertImpact = 865;
public const int convertLightning = 852;
public const int absorbHP = 660;
public const int negateParalysis = 422;
public const int mod_chaser = 620;
public const int seeInvisible = 416;
public const int guts = 436;
public const int invisibility = 415;
public const int mod_splash = 608;
public const int loving = 417;
public const int innocence = 418;
public const int negateBlind = 421;
public const int negateParalysis = 422;
public const int negateFear = 423;
public const int negateSleep = 424;
public const int loving = 417;
public const int negateSunburn = 431;
public const int negateConfusion = 425;
public const int negateSteal = 426;
public const int negateNeckHunt = 427;
public const int allNeckHunt = 428;
public const int breathing = 429;
public const int negateShockwave = 430;
public const int encRagnarok = 667;
public const int negateSunburn = 431;
public const int encHit = 414;
public const int sanctified = 432;
public const int meleeDistance = 666;
public const int defense_range = 435;
public const int negateSleep = 424;
public const int negateSteal = 426;
public const int slowCorruption = 412;
public const int seeInvisible = 416;
public const int convertFire = 850;
public const int invisibility = 415;
public const int throwReturn = 410;
public const int encHit = 414;
public const int negateShockwave = 430;
public const int counter = 380;
public const int basher = 381;
public const int rusher = 382;
public const int redirect_blaser = 383;
public const int negateTeleport = 400;
public const int levitation = 401;
public const int convertImpact = 865;
public const int convertLightning = 852;
public const int convertCold = 851;
public const int encSpell = 411;
public const int planter = 665;
public const int searchRange = 402;
public const int corruption = 409;
public const int mod_talisman = 609;
public const int encSpell = 411;
public const int slowCorruption = 412;
public const int levitation = 401;
public const int parry = 437;
public const int boostMachine = 664;
public const int knightly = 438;
public const int basher = 381;
public const int throwReturn = 410;
public const int absorbSP = 662;
public const int sustain_STR = 440;
public const int force_weapon = 482;
public const int optimizeMana = 483;
public const int creativeChef = 487;
public const int revealFaith = 481;
public const int deathagony = 488;
public const int music_drunk = 489;
public const int negateGravity = 491;
public const int mod_ammo = 600;
public const int mod_reload = 601;
public const int mod_rapid = 602;
public const int mod_ammo_knockback = 603;
public const int mod_ammo_recover = 604;
public const int mod_precision = 605;
public const int mod_drill = 606;
public const int knightly = 438;
public const int mod_scatter = 607;
public const int strongStomach = 480;
public const int negateParry = 439;
public const int force_weapon = 482;
public const int revealFaith = 481;
public const int mod_ammo = 600;
public const int bane_all = 468;
public const int strongStomach = 480;
public const int sustain_END = 441;
public const int sustain_DEX = 442;
public const int sustain_PER = 443;
public const int sustain_LER = 444;
public const int sustain_WIL = 445;
public const int sustain_MAG = 446;
public const int sustain_figure = 450;
public const int sustain_LER = 444;
public const int bane_dragon = 460;
public const int bane_undead = 461;
public const int bane_god = 466;
public const int bane_dragon = 460;
public const int bane_fish = 467;
public const int mod_ammo_knockback = 603;
public const int sustain_END = 441;
public const int mod_ammo_recover = 604;
public const int mod_drill = 606;
public const int absorbMP = 661;
public const int absorbHP = 660;
public const int permaCurse = 656;
public const int sanctified = 432;
public const int eheluck = 663;
public const int onlyPet = 655;
public const int noDamage = 654;
public const int mod_precision = 605;
public const int eco = 652;
public const int r_PV = 651;
public const int r_DV = 650;
public const int r_mana = 641;
public const int living = 653;
public const int guts = 436;
public const int mod_scatter = 607;
public const int mod_splash = 608;
public const int mod_talisman = 609;
public const int mod_chaser = 620;
public const int parry = 437;
public const int defense_range = 435;
public const int sustain_STR = 440;
public const int mod_flurry = 621;
public const int mod_cleave = 622;
public const int mod_feint = 623;
public const int mod_frustration = 624;
public const int r_life = 640;
public static readonly int[] IDS = new int[107]
{
654, 653, 652, 651, 650, 640, 622, 623, 624, 655,
641, 656, 851, 661, 662, 663, 664, 665, 666, 667,
850, 621, 865, 852, 660, 620, 436, 608, 418, 419,
420, 421, 422, 423, 424, 417, 425, 427, 428, 429,
430, 431, 432, 435, 426, 416, 415, 414, 380, 381,
382, 383, 400, 401, 402, 403, 404, 405, 406, 407,
408, 409, 609, 411, 412, 437, 438, 410, 440, 483,
484, 485, 486, 487, 488, 489, 490, 491, 601, 602,
603, 604, 605, 606, 607, 439, 482, 481, 600, 468,
480, 441, 442, 443, 445, 446, 447, 450, 444, 461,
462, 463, 464, 465, 466, 460, 467
422, 416, 415, 417, 418, 419, 420, 421, 423, 431,
425, 426, 427, 428, 429, 667, 414, 666, 424, 412,
850, 410, 430, 380, 382, 383, 400, 865, 852, 851,
411, 665, 402, 403, 404, 405, 406, 407, 408, 409,
401, 664, 381, 662, 482, 483, 484, 485, 486, 487,
481, 488, 489, 490, 491, 600, 601, 602, 438, 480,
439, 468, 442, 443, 444, 445, 446, 447, 450, 460,
461, 462, 463, 464, 465, 466, 467, 603, 441, 604,
606, 661, 660, 656, 432, 663, 655, 654, 605, 652,
651, 650, 641, 653, 436, 607, 608, 609, 620, 437,
435, 440, 621, 622, 623, 624, 640
};
}FACTION
public class FACTION
{
public const int bfRuin = 3702;
public const int bfForest = 3601;
public const int bfSilica = 3802;
public const int bfSnow = 3602;
public const int bfMushroom = 3801;
public const int bfHill = 3603;
public const int bfIce = 3804;
public const int bfBeach = 3604;
public const int bfLandmark5 = 3784;
public const int bfFertile = 3700;
public const int bfLandmark4 = 3783;
public const int bfUndersea = 3606;
public const int bfLandmark3 = 3782;
public const int bfGeyser = 3701;
public const int bfLandmark2 = 3781;
public const int bfPlain = 3600;
public const int bfGum = 3803;
public const int bfSea = 3605;
public const int bfCoal = 3800;
public const int bfCave = 3500;
public const int fAttraction = 2206;
public const int fHeirloom = 2120;
public const int bfLandmark1 = 3780;
public const int fSafety = 2205;
public const int fPromo = 2202;
public const int fEducation = 2116;
public const int fElec = 2201;
public const int fSoil = 2200;
public const int fHeirloom = 2120;
public const int fTaxEvasion = 2119;
public const int fLuck = 2118;
public const int fLoyal = 2117;
public const int bfTranquil = 3703;
public const int fEducation = 2116;
public const int fAttraction = 2206;
public const int fAdmin = 2115;
public const int bfVolcano = 3704;
public const int fConstruction = 2003;
public const int actBuildCut = 4000;
public const int fRation = 2207;
public const int bfFish = 3706;
public const int bfBreed = 3710;
public const int fAdmin = 2115;
public const int bfChitin = 3805;
public const int actBuildInspect = 4006;
public const int bfFreshAir = 3708;
public const int actBuildRecipe = 4005;
public const int bfBasin = 3709;
public const int actBuildCollect = 4004;
public const int bfPlain = 3600;
public const int actBuildAnywhere = 4003;
public const int bfForest = 3601;
public const int actBuildTerrain = 4002;
public const int bfSnow = 3602;
public const int actBuildMine = 4001;
public const int bfHill = 3603;
public const int bfStart = 3900;
public const int bfBeach = 3604;
public const int bfChitin = 3805;
public const int bfSea = 3605;
public const int bfIce = 3804;
public const int bfCave = 3500;
public const int bfGum = 3803;
public const int bfFertile = 3700;
public const int bfSilica = 3802;
public const int bfGeyser = 3701;
public const int bfMushroom = 3801;
public const int bfRuin = 3702;
public const int bfCoal = 3800;
public const int bfTranquil = 3703;
public const int bfLandmark5 = 3784;
public const int bfUndersea = 3606;
public const int bfLandmark4 = 3783;
public const int bfHunt = 3705;
public const int bfLandmark3 = 3782;
public const int bfFish = 3706;
public const int bfLandmark2 = 3781;
public const int actBuildInspect = 4006;
public const int bfLandmark1 = 3780;
public const int actBuildRecipe = 4005;
public const int bfBreed = 3710;
public const int actBuildCollect = 4004;
public const int bfBasin = 3709;
public const int actBuildAnywhere = 4003;
public const int bfFreshAir = 3708;
public const int actBuildTerrain = 4002;
public const int bfMonster = 3707;
public const int actBuildMine = 4001;
public const int bfHunt = 3705;
public const int actBuildCut = 4000;
public const int fConstruction = 2003;
public const int bfStart = 3900;
public const int fRation = 2207;
public const int bfVolcano = 3704;
public const int bfMonster = 3707;
public static readonly int[] IDS = new int[53]
{
3702, 3601, 3602, 3603, 3604, 3700, 3606, 3701, 3600, 3605,
3500, 2120, 2205, 2204, 2203, 2202, 2116, 2201, 2200, 2119,
2118, 2117, 3703, 2206, 3704, 4000, 3706, 2115, 4006, 4005,
4004, 4003, 4002, 4001, 3900, 3805, 3804, 3803, 3802, 3801,
3800, 3784, 3783, 3782, 3781, 3780, 3710, 3709, 3708, 3707,
3705, 2003, 2207
3802, 3801, 3804, 3784, 3783, 3782, 3781, 3803, 3800, 2206,
3780, 2205, 2204, 2203, 2202, 2201, 2200, 2120, 2119, 2118,
2117, 2116, 2115, 2003, 2207, 3710, 3805, 3708, 3709, 3600,
3601, 3602, 3603, 3604, 3605, 3500, 3700, 3701, 3702, 3703,
3606, 3705, 3706, 4006, 4005, 4004, 4003, 4002, 4001, 4000,
3900, 3704, 3707
};
}
public class Faction : EClassFEAT
public class FEAT
{
public const int featDemigod = 1228;
public const int featDEX = 1621;
public const int featAnimalLover = 1640;
public const int featEND = 1622;
public const int featResCurse = 1641;
public const int featPER = 1623;
public const int featSleeper = 1642;
public const int featLER = 1624;
public const int featSorter = 1643;
public const int featSPD = 1629;
public const int featBodyParts = 1644;
public const int featWIL = 1626;
public const int featParty = 1645;
public const int featCHA = 1627;
public const int featFaith = 1636;
public const int featLuck = 1628;
public const int featLonelySoul = 1646;
public const int featHardy = 1630;
public const int featRapidMagic = 1648;
public const int featMAG = 1625;
public const int featDefender = 1649;
public const int featSTR = 1620;
public const int featGourmet = 1650;
public const int featSwordsage = 1418;
public const int featMagicManner = 1651;
public const int featMana = 1611;
public const int featRapidArrow = 1652;
public const int featLife = 1610;
public const int featDreamWaker = 1653;
public const int featNeckHunter = 1426;
public const int featSummoner = 1647;
public const int featMimic = 1425;
public const int featHeavyCasting = 1654;
public const int featElite = 1424;
public const int featMartial = 1635;
public const int featPeaky = 1423;
public const int featSpotting = 1633;
public const int featHealer = 1422;
public const int featStamina = 1612;
public const int featManaMeat = 1421;
public const int featSTR = 1620;
public const int featExecutioner = 1420;
public const int featDEX = 1621;
public const int featMilitant = 1419;
public const int featEND = 1622;
public const int featDefense = 1631;
public const int featPER = 1623;
public const int featWitch = 1417;
public const int featLER = 1624;
public const int featInquisitor = 1416;
public const int featNegotiate = 1634;
public const int featStamina = 1612;
public const int featMAG = 1625;
public const int featEvade = 1632;
public const int featCHA = 1627;
public const int featRapidMagic = 1648;
public const int featLuck = 1628;
public const int featNegotiate = 1634;
public const int featSPD = 1629;
public const int featFoxMaid = 1415;
public const int featHardy = 1630;
public const int featComat = 1750;
public const int featDefense = 1631;
public const int featGoldenFinger = 1662;
public const int featEvade = 1632;
public const int featDismantler = 1661;
public const int featWIL = 1626;
public const int featLooter = 1660;
public const int featModelBeliever = 1655;
public const int featFisher = 1659;
public const int featScavenger = 1656;
public const int featChef = 1658;
public const int featManaCost = 1657;
public const int featFairyResist = 1212;
public const int featScavenger = 1656;
public const int featSnail = 1211;
public const int featModelBeliever = 1655;
public const int featUndead = 1210;
public const int featHeavyCasting = 1654;
public const int featFluffyTail = 1209;
public const int featDreamWaker = 1653;
public const int featFoxLearn = 1208;
public const int featSpotting = 1633;
public const int featFoxBless = 1207;
public const int featRapidArrow = 1652;
public const int featElea = 1213;
public const int featGourmet = 1650;
public const int featMelilithCurse = 1206;
public const int featDefender = 1649;
public const int featFairyWeak = 1204;
public const int featSummoner = 1647;
public const int featGrowParts = 1203;
public const int featLonelySoul = 1646;
public const int featFastLearner = 1202;
public const int featParty = 1645;
public const int featManaBond = 1201;
public const int featBodyParts = 1644;
public const int featSlowFood = 1200;
public const int featSorter = 1643;
public const int featServant = 1227;
public const int featSleeper = 1642;
public const int featCannibalism = 1205;
public const int featResCurse = 1641;
public const int featManaPrecision = 1214;
public const int featAnimalLover = 1640;
public const int featDwarf = 1215;
public const int featFaith = 1636;
public const int featSuccubus = 1216;
public const int featMartial = 1635;
public const int featChef = 1658;
public const int featMagicManner = 1651;
public const int featFisher = 1659;
public const int featWhiteVixen = 1414;
public const int featLooter = 1660;
public const int featEternalYouth = 1243;
public const int featDismantler = 1661;
public const int featLuckyCat = 1412;
public const int featGoldenFinger = 1662;
public const int featBaby = 1232;
public const int featComat = 1750;
public const int featCosmicHorror = 1233;
public const int featUnderground = 1226;
public const int featHeavyEater = 1234;
public const int featShiva = 1224;
public const int featLightEater = 1235;
public const int featAcidBody = 1223;
public const int featNorland = 1236;
public const int featSplit = 1222;
public const int featRoran = 1237;
public const int featSpike = 1221;
public const int featElder = 1238;
public const int featFate = 1220;
public const int featDemon = 1239;
public const int featElderCrab = 1219;
public const int featMassSummoner = 1240;
public const int featMetal = 1218;
public const int featMeatCushion = 1241;
public const int featGolem = 1217;
public const int featGeneSlot = 1242;
public const int featMana = 1611;
public const int featCentaur = 1244;
public const int featLife = 1610;
public const int featSevenSense = 1245;
public const int featLoyal = 1225;
public const int featNirvana = 1231;
public const int featGod_trickery1 = 1345;
public const int featPegasus = 1246;
public const int featArcher = 1404;
public const int featMiscreation = 1248;
public const int featPianist = 1405;
public const int featBloodBond = 1249;
public const int featTourist = 1406;
public const int featFairysan = 1413;
public const int featPaladin = 1407;
public const int featAshborn = 1251;
public const int featPaladin2 = 1408;
public const int featAquatic = 1252;
public const int featBoost = 1409;
public const int featGoodKarma = 1270;
public const int featReboot = 1410;
public const int featBadKarma = 1271;
public const int featEarthStrength = 1411;
public const int featPeacemaker = 1272;
public const int featLuckyCat = 1412;
public const int featBloom = 1273;
public const int featFairysan = 1413;
public const int featSlimeEvolution = 1274;
public const int featWhiteVixen = 1414;
public const int featBelovedOne = 1275;
public const int featFoxMaid = 1415;
public const int featHarem = 1276;
public const int featInquisitor = 1416;
public const int featGoddess = 1290;
public const int featWitch = 1417;
public const int featLibra = 1247;
public const int featSwordsage = 1418;
public const int featGod_element1 = 1300;
public const int featMilitant = 1419;
public const int featAdam = 1230;
public const int featExecutioner = 1420;
public const int featDemigod = 1228;
public const int featFarmer = 1403;
public const int featSlowFood = 1200;
public const int featWizard = 1402;
public const int featManaBond = 1201;
public const int featThief = 1401;
public const int featFastLearner = 1202;
public const int featWarrior = 1400;
public const int featGrowParts = 1203;
public const int featPeacemaker = 1272;
public const int featFairyWeak = 1204;
public const int featBloom = 1273;
public const int featCannibalism = 1205;
public const int featSlimeEvolution = 1274;
public const int featMelilithCurse = 1206;
public const int featBelovedOne = 1275;
public const int featFoxBless = 1207;
public const int featHarem = 1276;
public const int featFoxLearn = 1208;
public const int featGoddess = 1290;
public const int featFluffyTail = 1209;
public const int featGod_element1 = 1300;
public const int featUndead = 1210;
public const int featGod_earth1 = 1305;
public const int featSnail = 1211;
public const int featManaMeat = 1421;
public const int featFairyResist = 1212;
public const int featGod_wind1 = 1310;
public const int featLittleOne = 1229;
public const int featGod_healing1 = 1320;
public const int featElea = 1213;
public const int featGod_harvest1 = 1325;
public const int featDwarf = 1215;
public const int featGod_luck1 = 1330;
public const int featSuccubus = 1216;
public const int featGod_harmony1 = 1335;
public const int featGolem = 1217;
public const int featGod_oblivion1 = 1340;
public const int featMetal = 1218;
public const int featGoodKarma = 1270;
public const int featElderCrab = 1219;
public const int featGod_moonshadow1 = 1350;
public const int featFate = 1220;
public const int featGod_strife1 = 1355;
public const int featSpike = 1221;
public const int featGod_machine1 = 1315;
public const int featSplit = 1222;
public const int featHealer = 1422;
public const int featAcidBody = 1223;
public const int featPeaky = 1423;
public const int featShiva = 1224;
public const int featElite = 1424;
public const int featLoyal = 1225;
public const int featGeneSlot = 1242;
public const int featUnderground = 1226;
public const int featMeatCushion = 1241;
public const int featServant = 1227;
public const int featMassSummoner = 1240;
public const int featManaPrecision = 1214;
public const int featDemon = 1239;
public const int featGod_earth1 = 1305;
public const int featElder = 1238;
public const int featVampire = 1250;
public const int featRoran = 1237;
public const int featGod_machine1 = 1315;
public const int featNorland = 1236;
public const int featThief = 1401;
public const int featLightEater = 1235;
public const int featWizard = 1402;
public const int featHeavyEater = 1234;
public const int featFarmer = 1403;
public const int featCosmicHorror = 1233;
public const int featArcher = 1404;
public const int featBaby = 1232;
public const int featPianist = 1405;
public const int featNirvana = 1231;
public const int featTourist = 1406;
public const int featAdam = 1230;
public const int featPaladin = 1407;
public const int featLittleOne = 1229;
public const int featPaladin2 = 1408;
public const int featBadKarma = 1271;
public const int featBoost = 1409;
public const int featCentaur = 1244;
public const int featReboot = 1410;
public const int featMimic = 1425;
public const int featEarthStrength = 1411;
public const int featNeckHunter = 1426;
public const int featGod_wind1 = 1310;
public const int featAquatic = 1252;
public const int featGod_strife1 = 1355;
public const int featAshborn = 1251;
public const int featGod_healing1 = 1320;
public const int featVampire = 1250;
public const int featGod_harvest1 = 1325;
public const int featBloodBond = 1249;
public const int featGod_luck1 = 1330;
public const int featMiscreation = 1248;
public const int featGod_harmony1 = 1335;
public const int featLibra = 1247;
public const int featGod_oblivion1 = 1340;
public const int featPegasus = 1246;
public const int featGod_trickery1 = 1345;
public const int featSevenSense = 1245;
public const int featGod_moonshadow1 = 1350;
public const int featEternalYouth = 1243;
public const int featWarrior = 1400;
public static readonly int[] IDS = new int[144]
{
1228, 1640, 1641, 1642, 1643, 1644, 1645, 1636, 1646, 1648,
1649, 1650, 1651, 1652, 1653, 1647, 1654, 1635, 1633, 1612,
1620, 1621, 1622, 1623, 1624, 1634, 1625, 1627, 1628, 1629,
1630, 1631, 1632, 1626, 1655, 1656, 1657, 1212, 1211, 1210,
1209, 1208, 1207, 1213, 1206, 1204, 1203, 1202, 1201, 1200,
1227, 1205, 1214, 1215, 1216, 1658, 1659, 1660, 1661, 1662,
1750, 1226, 1224, 1223, 1222, 1221, 1220, 1219, 1218, 1217,
1611, 1610, 1225, 1345, 1404, 1405, 1406, 1407, 1408, 1409,
1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
1420, 1403, 1402, 1401, 1400, 1272, 1273, 1274, 1275, 1276,
1290, 1300, 1305, 1421, 1310, 1320, 1325, 1330, 1335, 1340,
1270, 1350, 1355, 1315, 1422, 1423, 1424, 1242, 1241, 1240,
1239, 1238, 1237, 1236, 1235, 1234, 1233, 1232, 1231, 1230,
1229, 1271, 1244, 1425, 1426, 1252, 1251, 1250, 1249, 1248,
1247, 1246, 1245, 1243
1621, 1622, 1623, 1624, 1629, 1626, 1627, 1628, 1630, 1625,
1620, 1418, 1611, 1610, 1426, 1425, 1424, 1423, 1422, 1421,
1420, 1419, 1631, 1417, 1416, 1612, 1632, 1648, 1634, 1415,
1750, 1662, 1661, 1660, 1659, 1658, 1657, 1656, 1655, 1654,
1653, 1633, 1652, 1650, 1649, 1647, 1646, 1645, 1644, 1643,
1642, 1641, 1640, 1636, 1635, 1651, 1414, 1243, 1412, 1232,
1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242,
1244, 1245, 1231, 1246, 1248, 1249, 1413, 1251, 1252, 1270,
1271, 1272, 1273, 1274, 1275, 1276, 1290, 1247, 1300, 1230,
1228, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208,
1209, 1210, 1211, 1212, 1229, 1213, 1215, 1216, 1217, 1218,
1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1214,
1305, 1250, 1315, 1401, 1402, 1403, 1404, 1405, 1406, 1407,
1408, 1409, 1410, 1411, 1310, 1355, 1320, 1325, 1330, 1335,
1340, 1345, 1350, 1400
};
}
public class Feat : ElementFOOD
{
public const int food_poison = 702;
public const int food_CHA = 700;
public const int food_love = 703;
public const int creativeDish = 764;
public const int food_god = 758;
public const int justcooked = 757;
public const int food_blood = 710;
public const int food_undead = 709;
public const int food_bug = 704;
public const int food_cat = 701;
public const int kirimi = 707;
public const int loseWeight = 706;
public const int kirimi = 707;
public const int gainWeight = 705;
public const int food_bug = 704;
public const int food_undead = 709;
public const int food_CHA = 700;
public const int justcooked = 757;
public const int food_god = 758;
public const int food_human = 708;
public const int food_blood = 710;
public static readonly int[] IDS = new int[14]
{
702, 703, 764, 758, 757, 710, 709, 701, 707, 706,
705, 704, 700, 708
702, 700, 703, 764, 704, 701, 706, 707, 705, 709,
757, 758, 708, 710
};
}+FieldEffectFeast
File Created
public class FieldEffectFeast : FieldEffect
{
}FoodEffect
public static void Proc(Chara c, Thing food, bool consume = true)
bool flag4 = c2.HasElement(1205);
bool flag5 = food.IsDecayed || flag3;
bool flag6 = IsLeftoverable(food);
bool flag7 = EClass._zone.HasField(10001) && food.GetBool(128);
c2.AddFoodHistory(food);
if (c2.IsPCFaction && !c2.IsPC)
{
int num6 = c2.CountNumEaten(food);
bool flag7 = c2.GetFavFood().id == food.id;
if (num6 < 2 || flag7)
bool flag8 = c2.GetFavFood().id == food.id;
if (num6 < 2 || flag8)
{
if (num6 == 1 || flag7 || EClass.rnd(4) == 0)
if (num6 == 1 || flag8 || EClass.rnd(4) == 0)
{
c2.Talk("foodNice");
}public static void Proc(Chara c, Thing food, bool consume = true)
break;
}
}
float num7 = Mathf.Min(c2.hunger.value, num3);
float num7 = (flag7 ? num3 : Mathf.Min(c2.hunger.value, num3));
if (c2.hunger.GetPhase() >= 3)
{
num7 *= 1.1f;public static void Proc(Chara c, Thing food, bool consume = true)
float num8 = num2 * (float)value.Value;
if (value.source.category == "food" && c2.IsPC)
{
bool flag8 = num8 >= 0f;
string text = value.source.GetText(flag8 ? "textInc" : "textDec", returnNull: true);
bool flag9 = num8 >= 0f;
string text = value.source.GetText(flag9 ? "textInc" : "textDec", returnNull: true);
if (text != null)
{
Msg.SetColor(flag8 ? "positive" : "negative");
Msg.SetColor(flag9 ? "positive" : "negative");
c2.Say(text);
}
}public static void Proc(Chara c, Thing food, bool consume = true)
{
break;
}
goto IL_0f84;
goto IL_0fad;
case "love":
ActEffect.LoveMiracle(c2, EClass.pc, value.Value * 10);
break;public static void Proc(Chara c, Thing food, bool consume = true)
{
food.trait.OnDrink(c2);
}
goto IL_0f84;
IL_0f84:
goto IL_0fad;
IL_0fad:
if (consume)
{
num7 += 5f;GameLang
public class GameLang : EClass
public static string refDrama5;
public static void ClearDramaRef()
{
refDrama1 = (refDrama2 = (refDrama3 = (refDrama3 = (refDrama5 = null))));
}
public static string ConvertDrama(string text, Chara c = null)
{
if (!EClass.core.IsGameStarted)public static string ConvertDrama(string text, Chara c = null)
StringBuilder stringBuilder = new StringBuilder();
string newValue = "";
string newValue2 = "";
string newValue3 = "";
string name = EClass.game.religions.GetRandomReligion(onlyJoinable: false).Name;
string @ref = "-";
if (c != null)
{
newValue = c.NameBraced;
newValue2 = (c.IsMale ? "his" : "her").lang();
newValue3 = (c.IsMale ? "him" : "her").lang();
name = c.faith.Name;
@ref = CalcGold.Hire(c).ToString() ?? "";
}public static string ConvertDrama(string text, Chara c = null)
stringBuilder.Replace("#costHire", "costHire".lang(@ref));
stringBuilder.Replace("#self", newValue);
stringBuilder.Replace("#his", newValue2);
stringBuilder.Replace("#him", newValue3);
stringBuilder.Replace("#me", newValue);
if (int.TryParse(refDrama1, out var result))
{public static string ConvertDrama(string text, Chara c = null)
stringBuilder.Replace("#guild_title", Guild.CurrentDrama.relation.TextTitle);
stringBuilder.Replace("#guild", Guild.CurrentDrama.Name);
stringBuilder.Replace("#race", EClass.pc.race.GetName());
stringBuilder.Replace("#pc_full", EClass.pc.NameBraced);
stringBuilder.Replace("#pc", EClass.pc.NameSimple);
stringBuilder.Replace("#aka", EClass.pc.Aka);
stringBuilder.Replace("#bigdaddy", "bigdaddy".lang());LayerDrama
alwaysVisible = null;
EInput.requireConfirmReset = true;
maxBGMVolume = false;
GameLang.refDrama1 = "";
GameLang.refDrama2 = "";
GameLang.refDrama3 = "";
GameLang.refDrama4 = "";
GameLang.refDrama5 = "";
GameLang.ClearDramaRef();
}
}LayerQuestBoard
ELayer._zone.branch.UpdateReqruits();
}
windows[0].setting.tabs[1].disable = !ELayer._zone.IsPCFaction;
GameLang.ClearDramaRef();
}
public override void OnSwitchContent(Window window)LoveData
public class LoveData : EClass
[JsonProperty]
public string nameZoneMarriage;
public bool IsWed => dateWedding != 0;
}MUTATION
public class MUTATION
{
public const int mutationDexN = 1515;
public const int mutationSkin = 1510;
public const int mutationSkinN = 1511;
public const int etherPoisonHand = 1565;
public const int mutationLightning = 1528;
public const int mutationEye = 1512;
public const int mutationColdN = 1527;
public const int mutationEyeN = 1513;
public const int mutationCold = 1526;
public const int mutationDex = 1514;
public const int mutationBrain = 1524;
public const int mutationRegen = 1516;
public const int mutationChaN = 1523;
public const int mutationSpeed = 1518;
public const int mutationCha = 1522;
public const int etherPoisonHand = 1565;
public const int mutationStrN = 1521;
public const int etherManaBattery = 1564;
public const int mutationLightningN = 1529;
public const int etherProvoke = 1563;
public const int mutationStr = 1520;
public const int etherArmor = 1562;
public const int mutationSpeed = 1518;
public const int etherStupid = 1561;
public const int mutationRegenN = 1517;
public const int etherWeak = 1560;
public const int mutationRegen = 1516;
public const int etherAddict = 1559;
public const int mutationDexN = 1515;
public const int etherRain = 1558;
public const int mutationDex = 1514;
public const int etherHead = 1557;
public const int mutationEyeN = 1513;
public const int etherViolence = 1556;
public const int mutationEye = 1512;
public const int etherNeck = 1555;
public const int mutationSpeedN = 1519;
public const int mutationRegenN = 1517;
public const int mutationBody = 1530;
public const int etherEye = 1553;
public const int mutationBrainN = 1525;
public const int etherFeet = 1552;
public const int mutationHair = 1532;
public const int etherUgly = 1551;
public const int etherManaBattery = 1564;
public const int etherWing = 1554;
public const int etherProvoke = 1563;
public const int mutationHairN = 1533;
public const int etherArmor = 1562;
public const int mutationSpeedN = 1519;
public const int mutationBodyN = 1531;
public const int mutationStr = 1520;
public const int etherWeak = 1560;
public const int etherGravity = 1550;
public const int etherAddict = 1559;
public const int mutationCha = 1522;
public const int etherRain = 1558;
public const int mutationChaN = 1523;
public const int etherHead = 1557;
public const int mutationBrain = 1524;
public const int etherStupid = 1561;
public const int mutationBrainN = 1525;
public const int etherNeck = 1555;
public const int mutationStrN = 1521;
public const int etherWing = 1554;
public const int mutationColdN = 1527;
public const int etherEye = 1553;
public const int mutationLightning = 1528;
public const int etherFeet = 1552;
public const int mutationLightningN = 1529;
public const int etherUgly = 1551;
public const int mutationBody = 1530;
public const int etherGravity = 1550;
public const int mutationBodyN = 1531;
public const int mutationHairN = 1533;
public const int mutationHair = 1532;
public const int etherViolence = 1556;
public const int mutationCold = 1526;
public static readonly int[] IDS = new int[40]
{
1510, 1511, 1565, 1528, 1527, 1526, 1524, 1523, 1522, 1521,
1529, 1520, 1518, 1517, 1516, 1515, 1514, 1513, 1512, 1519,
1530, 1525, 1532, 1564, 1563, 1562, 1531, 1560, 1559, 1558,
1557, 1561, 1555, 1554, 1553, 1552, 1551, 1550, 1533, 1556
1515, 1510, 1511, 1512, 1513, 1514, 1516, 1518, 1565, 1564,
1563, 1562, 1561, 1560, 1559, 1558, 1557, 1556, 1555, 1517,
1553, 1552, 1551, 1554, 1533, 1519, 1520, 1550, 1522, 1523,
1524, 1525, 1521, 1527, 1528, 1529, 1530, 1531, 1532, 1526
};
}
public class Mutation : FeatPOLICY
public class POLICY
{
public const int license_furniture = 2819;
public const int license_general = 2820;
public const int legendary_heirloom = 2821;
public const int license_slaver = 2828;
public const int license_food = 2818;
public const int license_furniture = 2819;
public const int license_stolen = 2824;
public const int store_premium = 2817;
public const int license_food = 2818;
public const int taxTransfer = 2705;
public const int wealth_tax = 2500;
public const int platinum_ticket = 2815;
public const int store_ripoff = 2816;
public const int speed_growth = 2516;
public const int stop_growth = 2515;
public const int resident_wanted = 2513;
public const int inquisition = 2507;
public const int resident_tax = 2512;
public const int store_ripoff = 2816;
public const int self_sufficient = 2511;
public const int wealth_tax = 2500;
public const int ban_radio = 2510;
public const int faith_tax = 2501;
public const int energy_conservation = 2700;
public const int speed_growth = 2516;
public const int vaccination = 2509;
public const int food_for_people = 2502;
public const int inquisition = 2507;
public const int impressment = 2504;
public const int human_right = 2506;
public const int legal_drug = 2505;
public const int resident_tax = 2512;
public const int impressment = 2504;
public const int self_sufficient = 2511;
public const int food_for_people = 2502;
public const int ban_radio = 2510;
public const int faith_tax = 2501;
public const int vaccination = 2509;
public const int store_premium = 2817;
public const int nocturnal_life = 2508;
public const int prohibition = 2503;
public const int trash_sort = 2701;
public const int energy_conservation = 2700;
public const int prohibition = 2503;
public const int human_right = 2506;
public const int weed_no = 2703;
public const int trash_no = 2702;
public const int noDM = 2708;
public const int platinum_ticket = 2815;
public const int noAnimal = 2709;
public const int mass_exhibition = 2814;
public const int noMother = 2710;
public const int bed_quality = 2812;
public const int auto_farm = 2707;
public const int tourist_safety = 2811;
public const int trash_sort = 2701;
public const int open_business = 2810;
public const int forcePanty = 2712;
public const int home_discount = 2800;
public const int livestock_priv = 2715;
public const int home_discount = 2800;
public const int suite_room = 2813;
public const int incomeTransfer = 2711;
public const int tourist_safety = 2811;
public const int noMother = 2710;
public const int bed_quality = 2812;
public const int noAnimal = 2709;
public const int suite_room = 2813;
public const int noDM = 2708;
public const int mass_exhibition = 2814;
public const int auto_farm = 2707;
public const int demon_invocation = 2706;
public const int border_watch = 2704;
public const int forcePanty = 2712;
public const int weed_no = 2703;
public const int taxTransfer = 2705;
public const int open_business = 2810;
public const int border_watch = 2704;
public static readonly int[] IDS = new int[51]
{
2819, 2820, 2821, 2822, 2823, 2827, 2825, 2826, 2828, 2818,
2824, 2817, 2705, 2815, 2515, 2514, 2513, 2507, 2816, 2500,
2501, 2516, 2502, 2504, 2505, 2512, 2511, 2510, 2509, 2508,
2503, 2700, 2506, 2702, 2708, 2709, 2710, 2707, 2701, 2712,
2715, 2800, 2711, 2811, 2812, 2813, 2814, 2706, 2704, 2703,
2810
2820, 2821, 2822, 2823, 2827, 2825, 2826, 2828, 2819, 2824,
2818, 2500, 2816, 2516, 2515, 2514, 2513, 2512, 2511, 2510,
2700, 2509, 2507, 2506, 2505, 2504, 2502, 2501, 2817, 2508,
2701, 2503, 2703, 2702, 2815, 2814, 2812, 2811, 2810, 2800,
2715, 2813, 2711, 2710, 2709, 2708, 2707, 2706, 2712, 2705,
2704
};
}
public class Policy : EClassQuestEscort
{
if (target != null)
{
target.ReleaseMinion();
target.UnmakeMinion();
if (EClass._zone.IsRegion)
{
target.Destroy();QuestWedding
using Newtonsoft.Json;
public class QuestWedding : QuestInstance
{
[JsonProperty]
public int score;
[JsonProperty]
public int destScore = 10;
[JsonProperty]
public int sumMoney;
public override DifficultyType difficultyType => DifficultyType.Music;
public override string IdZone => "instance_wedding";
public override string RewardSuffix => "Music";
public override string RefDrama2 => destScore.ToString() ?? "";
public override int KarmaOnFail => 0;
public override ZoneEventQuest CreateEvent()public override ZoneInstanceRandomQuest CreateInstance()
public override string GetTextProgress()
{
return "progressMusic".lang(score.ToString() ?? "", destScore.ToString() ?? "");
}
public override int GetRewardPlat(int money)
{
return difficulty + EClass.rnd(2);
return "progressWedding".lang();
}
public override void OnInit()
public override void OnDropReward()
{
destScore = difficulty * 150;
destScore += EClass.rnd(destScore / 5);
Thing thing = ThingGen.Create("milkcan");
thing.MakeRefFrom(person.chara);
EClass.player.DropReward(thing);
thing = ThingGen.Create("musicbox_memory");
thing.MakeRefFrom(person.chara, EClass.pc, simple: true);
DropReward(thing);
if (!EClass.pc.elements.Has(6628))
{
EClass.pc.elements.Learn(6628);
}
}
}Religion
public void Revelation(string idTalk, int chance = 100)
public void Talk(string idTalk, Card c = null, Card agent = null)
{
if (!IsEyth)
{
Msg.SetColor(Msg.colors.TalkGod);
Msg.Say("<i>" + GetGodTalk(idTalk) + " </i>", c ?? EClass.pc);
}
Msg.SetColor(Msg.colors.TalkGod);
Msg.Say("<i>" + GetGodTalk(idTalk) + " </i>", c ?? EClass.pc);
}
public string GetGodTalk(string suffix)SKILL
public class SKILL
{
public const int fireproof = 50;
public const int climbing = 242;
public const int marksman = 133;
public const int weaponCrossbow = 109;
public const int tactics = 132;
public const int weaponScythe = 110;
public const int twowield = 131;
public const int weaponBlunt = 111;
public const int twohand = 130;
public const int armorLight = 120;
public const int shield = 123;
public const int armorHeavy = 122;
public const int twowield = 131;
public const int weaponScythe = 110;
public const int twohand = 130;
public const int weaponBlunt = 111;
public const int music = 241;
public const int weaponCrossbow = 109;
public const int travel = 240;
public const int throwing = 108;
public const int taming = 237;
public const int weaponDagger = 107;
public const int milking = 235;
public const int eyeofmind = 134;
public const int digging = 230;
public const int weaponPolearm = 106;
public const int parasite = 227;
public const int armorLight = 120;
public const int riding = 226;
public const int strategy = 135;
public const int lumberjack = 225;
public const int riding = 226;
public const int shield = 123;
public const int evasionPlus = 151;
public const int mining = 220;
public const int stealth = 152;
public const int swimming = 200;
public const int stealth = 152;
public const int weightlifting = 207;
public const int evasionPlus = 151;
public const int spotting = 210;
public const int evasion = 150;
public const int mining = 220;
public const int strategy = 135;
public const int lumberjack = 225;
public const int eyeofmind = 134;
public const int parasite = 227;
public const int marksman = 133;
public const int digging = 230;
public const int tactics = 132;
public const int milking = 235;
public const int weightlifting = 207;
public const int taming = 237;
public const int spotting = 210;
public const int travel = 240;
public const int dmgDealt = 94;
public const int music = 241;
public const int weaponPolearm = 106;
public const int weaponGun = 105;
public const int END = 71;
public const int evasion = 150;
public const int STR = 70;
public const int weaponBow = 104;
public const int FPV = 68;
public const int END = 71;
public const int DMG = 67;
public const int weaponAxe = 102;
public const int HIT = 66;
public const int fireproof = 50;
public const int PV = 65;
public const int acidproof = 51;
public const int DEX = 72;
public const int PDR = 55;
public const int DV = 64;
public const int EDR = 56;
public const int mana = 61;
public const int evasionPerfect = 57;
public const int life = 60;
public const int evasionPerfect = 57;
public const int mana = 61;
public const int EDR = 56;
public const int vigor = 62;
public const int PDR = 55;
public const int PV = 65;
public const int acidproof = 51;
public const int HIT = 66;
public const int vigor = 62;
public const int DMG = 67;
public const int PER = 73;
public const int FPV = 68;
public const int LER = 74;
public const int STR = 70;
public const int WIL = 75;
public const int climbing = 242;
public const int weaponGun = 105;
public const int weaponStaff = 103;
public const int weaponBow = 104;
public const int DEX = 72;
public const int weaponStaff = 103;
public const int LER = 74;
public const int weaponAxe = 102;
public const int WIL = 75;
public const int weaponSword = 101;
public const int MAG = 76;
public const int martial = 100;
public const int CHA = 77;
public const int antiMagic = 93;
public const int LUC = 78;
public const int penetration = 92;
public const int SPD = 79;
public const int vopal = 91;
public const int INT = 80;
public const int critical = 90;
public const int INT = 80;
public const int vopal = 91;
public const int SPD = 79;
public const int penetration = 92;
public const int LUC = 78;
public const int antiMagic = 93;
public const int CHA = 77;
public const int dmgDealt = 94;
public const int MAG = 76;
public const int martial = 100;
public const int weaponDagger = 107;
public const int weaponSword = 101;
public const int PER = 73;
public const int fishing = 245;
public const int throwing = 108;
public const int DV = 64;
public const int carpentry = 255;
public const int resCut = 964;
public const int resImpact = 965;
public const int gathering = 250;
public const int resCurse = 972;
public const int resDamage = 971;
public const int resDecay = 970;
public const int resImpact = 965;
public const int gathering = 250;
public const int resPoison = 955;
public const int eleMind = 914;
public const int regeneration = 300;
public const int meditation = 301;
public const int env = 313;
public const int controlmana = 302;
public const int disarmTrap = 293;
public const int manaCapacity = 303;
public const int eleFire = 910;
public const int casting = 304;
public const int eleCold = 911;
public const int magicDevice = 305;
public const int hygine = 310;
public const int faith = 306;
public const int fun = 312;
public const int memorization = 307;
public const int hygine = 310;
public const int magicDevice = 305;
public const int env = 313;
public const int casting = 304;
public const int bladder = 311;
public const int manaCapacity = 303;
public const int eleFire = 910;
public const int controlmana = 302;
public const int fun = 312;
public const int meditation = 301;
public const int eleCold = 911;
public const int faith = 306;
public const int disarmTrap = 293;
public const int bladder = 311;
public static readonly int[] IDS = new int[134]
{
50, 242, 109, 110, 111, 120, 122, 131, 130, 241,
240, 237, 235, 230, 227, 226, 225, 123, 220, 200,
152, 151, 150, 135, 134, 133, 132, 207, 210, 94,
106, 71, 70, 68, 67, 66, 65, 72, 64, 61,
60, 57, 56, 55, 51, 62, 73, 74, 75, 105,
104, 103, 102, 101, 100, 93, 92, 91, 90, 80,
79, 78, 77, 76, 107, 245, 108, 255, 916, 917,
133, 132, 131, 130, 123, 122, 110, 111, 109, 108,
107, 134, 106, 120, 135, 226, 151, 152, 200, 207,
210, 220, 225, 227, 230, 235, 237, 240, 241, 105,
150, 104, 71, 102, 50, 51, 55, 56, 57, 60,
61, 62, 65, 66, 67, 68, 70, 242, 103, 72,
74, 75, 76, 77, 78, 79, 80, 90, 91, 92,
93, 94, 100, 101, 73, 245, 64, 255, 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, 250, 972, 971, 970, 955, 914,
962, 963, 964, 972, 971, 970, 965, 250, 955, 914,
920, 912, 290, 289, 288, 287, 913, 285, 291, 281,
261, 260, 259, 258, 257, 256, 280, 292, 286, 300,
301, 302, 303, 304, 305, 306, 307, 310, 313, 311,
910, 312, 911, 293
313, 293, 910, 911, 310, 312, 307, 305, 304, 303,
302, 301, 306, 311
};
}
public class Skill : ElementSLOT
public const int hand = 35;
public const int finger = 36;
public const int lightsource = 45;
public const int tool = 40;
public const int waist = 37;
public const int leg = 38;
public const int foot = 39;
public const int lightsource = 45;
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 waist = 37;
public const int token = 43;
public const int finger = 36;
public const int neck = 31;
public static readonly int[] IDS = new int[16]
{
33, 34, 35, 36, 40, 38, 39, 45, 44, 43,
41, 32, 37, 31, 42, 30
33, 34, 35, 45, 37, 38, 39, 40, 44, 41,
32, 43, 36, 31, 42, 30
};
}SPELL
public class SPELL
{
public const int bolt_Impact = 50315;
public const int hand_Impact = 50415;
public const int flare_Sound = 51207;
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 bolt_Sound = 50307;
public const int hand_Void = 50416;
public const int arrow_Void = 50516;
public const int ball_Sound = 50107;
public const int flare_Nether = 51206;
public const int ball_Nerve = 50108;
public const int bolt_Void = 50316;
public const int hand_Void = 50416;
public const int bolt_Nerve = 50308;
public const int ball_Holy = 50109;
public const int bolt_Void = 50316;
public const int bolt_Holy = 50309;
public const int hand_Holy = 50409;
public const int arrow_Holy = 50509;
public const int funnel_Holy = 50609;
public const int arrow_Void = 50516;
public const int flare_Nether = 51206;
public const int miasma_Holy = 50709;
public const int funnel_Void = 50616;
public const int bit_Nether = 51106;
public const int sword_Nether = 51006;
public const int arrow_Mind = 50504;
public const int hand_Poison = 50405;
public const int funnel_Mind = 50604;
public const int bolt_Poison = 50305;
public const int miasma_Mind = 50704;
public const int puddle_Void = 50916;
public const int weapon_Mind = 50804;
public const int bolt_Mind = 50304;
public const int puddle_Mind = 50904;
public const int ball_Poison = 50105;
public const int sword_Mind = 51004;
public const int flare_Mind = 51204;
public const int arrow_Poison = 50505;
public const int bit_Mind = 51104;
public const int flare_Mind = 51204;
public const int puddle_Mind = 50904;
public const int ball_Poison = 50105;
public const int weapon_Mind = 50804;
public const int sword_Void = 51016;
public const int miasma_Mind = 50704;
public const int puddle_Void = 50916;
public const int funnel_Mind = 50604;
public const int bolt_Poison = 50305;
public const int arrow_Mind = 50504;
public const int hand_Poison = 50405;
public const int hand_Mind = 50404;
public const int arrow_Poison = 50505;
public const int sword_Mind = 51004;
public const int funnel_Poison = 50605;
public const int funnel_Holy = 50609;
public const int miasma_Poison = 50705;
public const int funnel_Poison = 50605;
public const int weapon_Poison = 50805;
public const int hand_Nether = 50406;
public const int funnel_Void = 50616;
public const int miasma_Poison = 50705;
public const int bolt_Nether = 50306;
public const int weapon_Void = 50816;
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 miasma_Void = 50716;
public const int miasma_Holy = 50709;
public const int weapon_Holy = 50809;
public const int puddle_Holy = 50909;
public const int sword_Holy = 51009;
public const int miasma_Ether = 50712;
public const int weapon_Ether = 50812;
public const int puddle_Ether = 50912;
public const int miasma_Impact = 50715;
public const int sword_Ether = 51012;
public const int hand_Mind = 50404;
public const int bit_Ether = 51112;
public const int flare_Ether = 51212;
public const int ball_Acid = 50113;
public const int miasma_Impact = 50715;
public const int funnel_Impact = 50615;
public const int bolt_Acid = 50313;
public const int bit_Acid = 51113;
public const int flare_Acid = 51213;
public const int arrow_Impact = 50515;
public const int ball_Impact = 50115;
public const int flare_Cut = 51214;
public const int puddle_Cut = 50914;
public const int miasma_Ether = 50712;
public const int weapon_Cut = 50814;
public const int funnel_Cut = 50614;
public const int funnel_Ether = 50612;
public const int miasma_Cut = 50714;
public const int arrow_Cut = 50514;
public const int bolt_Cut = 50314;
public const int funnel_Impact = 50615;
public const int arrow_Impact = 50515;
public const int ball_Cut = 50114;
public const int miasma_Cut = 50714;
public const int flare_Acid = 51213;
public const int funnel_Ether = 50612;
public const int funnel_Cut = 50614;
public const int arrow_Ether = 50512;
public const int hand_Ether = 50412;
public const int puddle_Chaos = 50910;
public const int bolt_Ether = 50312;
public const int sword_Impact = 51015;
public const int puddle_Chaos = 50910;
public const int bit_Impact = 51115;
public const int flare_Impact = 51215;
public const int ball_Void = 50116;
public const int weapon_Chaos = 50810;
public const int miasma_Chaos = 50710;
public const int sword_Chaos = 51010;
public const int sword_Impact = 51015;
public const int funnel_Chaos = 50610;
public const int bolt_Chaos = 50310;
public const int ball_Void = 50116;
public const int ball_Chaos = 50110;
public const int flare_Holy = 51209;
public const int bit_Holy = 51109;
public const int arrow_Chaos = 50510;
public const int sword_Holy = 51009;
public const int hand_Impact = 50415;
public const int arrow_Chaos = 50510;
public const int bit_Chaos = 51110;
public const int bolt_Impact = 50315;
public const int ball_Magic = 50111;
public const int sword_Chaos = 51010;
public const int bolt_Ether = 50312;
public const int flare_Chaos = 51210;
public const int weapon_Impact = 50815;
public const int sword_Magic = 51011;
public const int flare_Chaos = 51210;
public const int puddle_Magic = 50911;
public const int miasma_Magic = 50711;
public const int bit_Chaos = 51110;
public const int weapon_Magic = 50811;
public const int funnel_Magic = 50611;
public const int puddle_Impact = 50915;
public const int weapon_Magic = 50811;
public const int ball_Magic = 50111;
public const int bit_Ether = 51112;
public const int miasma_Magic = 50711;
public const int hand_Cold = 50401;
public const int puddle_Ether = 50912;
public const int ball_Mind = 50104;
public const int SpTransmutePutit = 8791;
public const int SpHero = 8504;
public const int flare_Darkness = 51203;
public const int SpWisdom = 8503;
public const int SpHealEris = 8404;
public const int SpResEle = 8506;
public const int SpHeal = 8403;
public const int SpBreath = 8507;
public const int SpHero = 8504;
public const int SpRebirth = 8550;
public const int SpHealCritical = 8402;
public const int SpTransmutePutit = 8791;
public const int SpResEle = 8506;
public const int SpSpeedUp = 8510;
public const int SpTransmuteBroom = 8790;
public const int SpBrightnessOfLife = 8555;
public const int SpSpeedUp = 8510;
public const int SpRebirth = 8550;
public const int SpHealCritical = 8402;
public const int SpBreath = 8507;
public const int SpHealHeavy = 8401;
public const int SpHealLight = 8400;
public const int SpTelekinesis = 8215;
public const int SpWish = 8390;
public const int SpGate = 8202;
public const int ball_ = 7001;
public const int bit_Void = 51116;
public const int SpTelekinesis = 8215;
public const int SpReturn = 8220;
public const int SpEvac = 8221;
public const int SpIdentify = 8230;
public const int SpIdentifyG = 8232;
public const int SpWish = 8390;
public const int SpMutation = 8380;
public const int SpLevitate = 8300;
public const int SpChangeMaterialLesser = 8284;
public const int SpTransmuteCat = 8792;
public const int SpFaith = 8281;
public const int SpMagicMap = 8260;
public const int SpTransmuteCat = 8792;
public const int SpLighten = 8280;
public const int SpEnchantArmorGreat = 8256;
public const int SpUncurse = 8240;
public const int SpLighten = 8280;
public const int SpIdentifyG = 8232;
public const int bolt_Mind = 50304;
public const int SpMagicMap = 8260;
public const int ball_Mind = 50104;
public const int SpDarkness = 8800;
public const int SpSummon = 9000;
public const int hand_Lightning = 50402;
public const int bolt_Lightning = 50302;
public const int ball_Lightning = 50102;
public const int arrow_Cold = 50501;
public const int hand_Cold = 50401;
public const int bolt_Cold = 50301;
public const int ball_Cold = 50101;
public const int bit_Fire = 51100;
public const int arrow_Lightning = 50502;
public const int hand_Lightning = 50402;
public const int sword_Fire = 51000;
public const int funnel_Lightning = 50602;
public const int weapon_Lightning = 50802;
public const int arrow_Lightning = 50502;
public const int flare_Darkness = 51203;
public const int miasma_Lightning = 50702;
public const int bit_Darkness = 51103;
public const int puddle_Lightning = 50902;
public const int miasma_Lightning = 50702;
public const int weapon_Lightning = 50802;
public const int funnel_Lightning = 50602;
public const int puddle_Fire = 50900;
public const int bolt_Fire = 50300;
public const int bit_Void = 51116;
public const int ball_Fire = 50100;
public const int FieldFeast = 10001;
public const int FieldSpider = 10000;
public const int SpWeb = 8801;
public const int flare_Void = 51216;
public static readonly int[] IDS = new int[293]
public static readonly int[] IDS = new int[294]
{
50315, 51207, 51107, 51007, 50907, 50807, 50707, 50607, 50507, 50407,
50307, 50416, 50107, 51206, 50108, 50316, 50308, 50408, 50508, 50608,
50708, 50808, 50908, 51008, 51108, 51208, 50109, 50309, 50409, 50509,
50609, 50516, 50709, 51106, 51006, 50504, 50604, 50704, 50804, 50904,
51004, 51104, 51204, 50105, 51016, 50916, 50305, 50405, 50505, 50605,
50705, 50805, 50906, 50806, 50706, 50606, 50506, 50406, 50616, 50306,
50816, 50106, 51205, 51105, 51005, 50905, 50716, 50809, 50909, 51009,
50812, 50912, 51012, 50404, 51212, 50113, 50715, 50313, 50413, 50513,
50613, 50713, 50813, 50913, 51013, 51113, 51213, 50515, 50115, 51214,
51114, 51014, 50914, 50712, 50814, 50614, 50514, 50414, 50314, 50615,
50114, 50714, 50612, 50512, 50412, 50910, 51015, 51115, 51215, 50810,
50710, 51010, 50610, 50410, 50310, 50116, 50110, 51209, 51109, 50510,
50415, 51110, 50111, 50312, 50815, 50112, 51211, 51111, 51011, 51210,
50911, 50711, 50611, 50511, 50411, 50311, 50915, 50811, 51112, 50401,
50104, 8504, 8503, 8502, 8501, 8500, 8491, 8490, 8480, 8471,
8470, 8450, 8430, 8406, 8405, 8404, 8506, 8403, 8507, 8550,
8791, 8790, 8780, 8776, 8775, 8770, 8710, 8708, 8707, 8706,
8705, 8704, 8702, 8700, 8555, 8510, 8402, 8401, 8400, 8215,
50415, 51207, 51107, 51016, 51007, 50907, 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,
50609, 50605, 50805, 50906, 50806, 50706, 50606, 50506, 50406, 50705,
50306, 50106, 50816, 51205, 51105, 51005, 50905, 50716, 50709, 50809,
50909, 50712, 50812, 50715, 51012, 51112, 51212, 50113, 50615, 50313,
50413, 50513, 50613, 50713, 50813, 50913, 51013, 51113, 50115, 51214,
51114, 51014, 50914, 50814, 50612, 50714, 50514, 50414, 50314, 50515,
50114, 51213, 50614, 50512, 50412, 50312, 50910, 51115, 51215, 50116,
50810, 50710, 51015, 50610, 50410, 50310, 50110, 51209, 51109, 51009,
50510, 50315, 51010, 51210, 50815, 50112, 51211, 51111, 51011, 50911,
51110, 50811, 50611, 50511, 50411, 50311, 50915, 50111, 50711, 50912,
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, 8220, 8221, 8230, 8232, 8390, 8380,
8300, 8288, 8286, 8285, 8284, 8792, 8281, 8260, 8256, 8255,
8251, 8250, 8241, 8240, 8280, 50304, 8800, 9000, 50402, 50302,
50102, 51201, 51101, 51001, 50901, 50801, 50701, 50601, 50501, 50301,
50101, 51200, 51100, 50502, 51000, 50602, 50802, 51203, 51103, 51003,
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,
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, 50702, 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, 51116,
50100, 10000, 8801, 9503, 9501, 9500, 9210, 9200, 9160, 9156,
9155, 9502, 51216
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
};
}
public class Spell : AbilityTCOrbitChara
public override void RefreshAll()
{
emo = Emo2.hintEvent;
}
else if (owner.isRestocking && (!owner.IsPCParty || EMono._zone.IsPCFaction) && owner.trait.GetRestockedIcon() != 0 && !(EMono._zone is Zone_Dungeon))
else if (owner.isRestocking && (!owner.IsPCParty || EMono._zone.IsPCFaction) && owner.trait.GetRestockedIcon() != 0 && !(EMono._zone is Zone_Dungeon) && !EMono._zone.IsInstance)
{
emo = owner.trait.GetRestockedIcon();
}Thing
public override void WriteNote(UINote n, Action<UINote> onWriteNote = null, IIns
Chara chara = EClass.game.cards.globalCharas.Find(base.c_uidAttune);
AddText("isAttuned".lang((chara == null) ? "???" : chara.NameSimple), FontColor.Ether);
}
if (GetBool(128))
{
AddText("isPartyFood", FontColor.Ether);
}
if (base.isGifted && GetRoot() != EClass.pc)
{
AddText("isGifted", FontColor.Ether);Trait
public void OnBarter(bool reroll = false)
case ShopType.Deed:
Add("deed", 1, 0);
Add("deed_move", 2 + EClass.rnd(5), 0);
Add("deed_wedding", 1, 0);
Add("deed_divorce", 1, 0);
Add("license_illumination", 1, 0);
Add("license_void", 1, 0);
Add("license_adv", 1, 0);+TraitDeedDivorce
File Created
public class TraitDeedDivorce : TraitTool
{
public override void TrySetHeldAct(ActPlan p)
{
p.pos.ListCharas().ForEach(delegate(Chara a)
{
if (a.IsMarried)
{
p.TrySetAct("actDivorce", delegate
{
Dialog.YesNo("dialogDivorce", delegate
{
EClass.pc.Say("use_whip", a, owner);
a.Talk("death_other");
EClass.pc.PlaySound("whip");
a.PlayAnime(AnimeID.Shiver);
a.PlaySound("laugh_death");
a.Divorce(EClass.pc);
owner.ModNum(-1);
EClass.pc.Say("divorce", EClass.pc, a);
a.ModAffinity(EClass.pc, -200);
});
return false;
}, a);
}
});
}
}+TraitDeedWedding
File Created
public class TraitDeedWedding : Trait
{
}TraitMannequin
public override bool CanUse(Chara c)
{
if (base.CanUse(c))
{
if (!EClass._zone.IsPCFaction)
if (!EClass._zone.IsPCFaction && !(EClass._zone is Zone_Tent))
{
return EClass._zone is Zone_Tent;
return EClass.debug.enable;
}
return true;
}TraitTrolley
public override void OnActivateTrap(Chara c)
public virtual string GetIdSound()
{
if (owner.idSkin != 7)
if (!(owner.id == "play_ride_kin"))
{
return "ride_trolley";
if (owner.idSkin != 7)
{
return "ride_trolley";
}
return "ride_bike";
}
return "ride_bike";
return "ride_kin";
}
}WindowChara
public static void RefreshNote(Chara chara, UINote n, bool shortMode = false)
foreach (Chara item in list)
{
Date date = Date.ToDate(item.c_love.dateMarriage);
AddText("item_marriage".lang(item.NameBraced, date.year.ToString() ?? "", date.month.ToString() ?? "", item.c_love.nameZoneMarriage));
AddText("item_marriage".lang(item.NameBraced, date.year.ToString() ?? "", date.month.ToString() ?? "", item.c_love.nameZoneMarriage) + (item.c_love.IsWed ? "already_wed".lang() : ""));
}
}
}Zone
public virtual string IdBiome => map.config.idBiome.IsEmpty(base.source.idBiome);
public virtual int SightRadiusBonus => 0;
public virtual string IDGenerator => null;
public virtual string TextWidgetDate => "";ZoneEventWedding
using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using UnityEngine;
public class ZoneEventWedding : ZoneEventQuest
{
public QuestWedding questMusic => base.quest as QuestWedding;
[JsonProperty]
public int attendees;
[JsonProperty]
public CharaMassTransfer transfer = new CharaMassTransfer();
public QuestWedding questWedding => base.quest as QuestWedding;
public override string TextWidgetDate => "eventWedding".lang((TimeLimit - minElapsed <= 30) ? "end_soon".lang() : "", attendees.ToString() ?? "");
public override int TimeLimit => 180;
public int MaxAttendee => 50;
public override void OnVisit()
{
if (EClass.game.isLoading || (EClass.debug.enable && Input.GetKey(KeyCode.LeftShift)))
{
return;
}
foreach (Thing thing2 in EClass._map.things)
{
if (!thing2.isHidden)
{
thing2.isNPCProperty = true;
}
}
EClass._zone.SetFieldEffect(10001, 1);
List<Chara> list = new List<Chara>();
foreach (Chara value in EClass.game.cards.globalCharas.Values)
{
if (!value.isDead && value != EClass.pc && value != questWedding.chara && value.IsPCFaction && value.currentZone != null && value.currentZone.IsPCFaction && value.conSuspend == null && !value.isRestrained && value.pos != null)
{
list.Add(value);
}
}
list.Sort((Chara a, Chara b) => Mathf.Abs(b.affinity.value) - Mathf.Abs(a.affinity.value));
if (list.Count > MaxAttendee)
{
list.RemoveRange(MaxAttendee, list.Count - MaxAttendee);
}
List<Thing> list2 = new List<Thing>();
bool flag = EClass.pc.HasElement(1250);
foreach (Thing thing3 in EClass._map.things)
{
if (thing3.HasElement(10))
{
thing3.isNPCProperty = false;
thing3.c_priceFix = -90;
thing3.SetBool(128, enable: true);
if (flag)
{
thing3.elements.ModBase(710, 2);
}
}
if (thing3.id == "1321")
{
list2.Add(thing3);
}
}
list2.Sort((Thing a, Thing b) => a.pos.index - b.pos.index);
foreach (Chara item in list)
{
if (list2.Count == 0)
{
break;
}
transfer.Add(item);
attendees++;
item.MoveZone(EClass._zone);
Thing thing = list2.Last();
list2.Remove(thing);
item.noMove = false;
item.turnLastSeen = -100;
item.MoveImmediate(thing.pos, focus: false);
}
}
public override void OnLeaveZone()
{
transfer.Restore();
}
public override ZoneInstance.Status OnReachTimeLimit()
{
Msg.Say("party_end3");
return ZoneInstance.Status.Success;
}
}Zone_Wedding
public class Zone_Wedding : Zone_Civilized
public override bool UseFog => false;
public override bool RevealRoom => true;
public override int SightRadiusBonus => 3;
}