2using System.Collections.Generic;
38 if (points.Count == 0)
52 List<Card> list =
new List<Card>();
56 power = power * actref.refThing.material.hardness / 10;
58 string text =
id.ToString();
59 string text2 = (
EClass.
sources.
calc.map.ContainsKey(text) ? text : (text.ToLower() +
"_"));
60 foreach (
Point p
in points)
73 text2 =
"SpEarthquake";
81 if (CC.isChara && p.
Equals(CC.pos) && points.Count >= 2)
97 effect.sr.color = elementRef.colorSprite;
98 TrailRenderer componentInChildren = effect.GetComponentInChildren<TrailRenderer>();
99 Color startColor = (componentInChildren.endColor = elementRef.colorSprite);
100 componentInChildren.startColor = startColor;
110 float num3 = 0.06f * (float)CC.pos.Distance(p);
112 TweenUtil.Tween(num3,
null, delegate
124 effect =
Effect.
Get(
"Element/ball_" + ((e.id == 0) ?
"Void" : e.source.alias.Remove(0, 3)));
127 effect =
Effect.
Get(
"Element/ball_Fire");
129 float startDelay = ((
id ==
EffectId.Meteor) ? 0.1f : 0.04f) * (float)CC.pos.Distance(p);
145 effect.
Play(CC.pos, 0f, p);
152 effect.
Play(p).Flip(p.
x > CC.pos.x);
157 if (CC.IsPCFactionOrMinion && (CC.HasElement(1651) ||
EClass.
pc.
Evalue(1651) >= 2))
164 if (
item.IsPCFactionOrMinion)
169 else if (e.id != 910 || !
item.IsFood || !
item.category.IsChildOf(
"foodstuff"))
194 if ((uint)(
id - 250) <= 1u && c.
isChara && CC.isChara)
202 bool isChara = CC.isChara;
206 num4 = num4 * 100 / (50 + point.Distance(p) * 75);
214 Dice dice =
Dice.
Create(text2, power, CC, (actref.refThing !=
null) ? null : actref.act);
233 num4 = num4 * 100 / (90 + point.Distance(p) * 10);
236 if ((actref.noFriendlyFire && !CC.Chara.IsHostile(c as
Chara)) || (flag && c == CC))
240 if (isChara && points.Count > 1 && c !=
null && c.
isChara && CC.isChara && CC.Chara.IsFriendOrAbove(c.
Chara))
242 int num5 = CC.Evalue(302);
243 if (!CC.IsPC && CC.IsPCFactionOrMinion)
247 if (CC.HasElement(1214))
257 CC.ModExp(302, CC.IsPC ? 10 : 50);
261 num4 =
EClass.
rnd(num4 * 100 / (100 + num5 * 10 + 1));
264 CC.ModExp(302, CC.IsPC ? 20 : 100);
271 if ((CC.HasElement(1214) || (!CC.IsPC && (CC.IsPCFaction || CC.IsPCFactionMinion) &&
EClass.
pc.
HasElement(1214))) &&
EClass.
rnd(5) != 0)
278 if (lang ==
"spell_hand")
280 string[] list2 =
Lang.
GetList(
"attack" + (CC.isChara ? CC.Chara.race.meleeStyle.IsEmpty(
"Touch") :
"Touch"));
281 string @ref =
"_elehand".lang(e.source.GetAltname(2), list2[4]);
282 CC.Say(c.
IsPCParty ?
"cast_hand_ally" :
"cast_hand", CC, c, @ref, c.
IsPCParty ? list2[1] : list2[2]);
286 CC.Say(lang +
"_hit", CC, c, e.
Name.ToLower());
289 Chara chara = (CC.isChara ? CC.Chara : ((actref.refThing !=
null) ?
EClass.
_map.
FindChara(actref.refThing.c_uidRefCard) :
null));
308 num4 = num4 * Act.powerMod / 100;
312 int num6 = num4 * num / 100;
313 Debug.Log(num4 +
" v:" + num6 +
" evalue:" + e.Value +
" power:" + power +
" elepMod:" + num);
319 CC.Chara.mana.Mod(num6);
335 EffectId.Suicide => CC.LV / 3 + 40,
336 EffectId.Meteor => 50 + power / 20,
337 _ => (actref.refThing !=
null) ? actref.refThing.material.hardness : (30 + power / 20),
339 bool flag5 = EClass._zone.HasLaw && !EClass._zone.IsPCFaction && (CC.IsPC || (
id == EffectId.Explosive && actref.refThing ==
null)) && !(EClass._zone is
Zone_Vernis);
375 p.
ModFire(-20, extinguish:
true);
380 foreach (
Card item3
in list)
396 bool flag2 = isNeg || flag;
412 if (list4.Count == 0)
416 CC.
Say(
"spell_earthquake", CC, element.
Name.ToLower());
426 DamageEle(CC,
id, power, element, list4, actRef,
"spell_earthquake");
435 if (list3.Count == 0)
439 CC.
Say(
"spell_ball", CC, element.
Name.ToLower());
449 DamageEle(CC,
id, power, element, list3, actRef,
"spell_ball");
456 List<Point> list5 =
new List<Point>();
457 list5.Add(tp.
Copy());
463 if (!
DamageEle(CC,
id, power, element, list5, actRef, (
id ==
EffectId.DrainBlood ||
id ==
EffectId.DrainMana) ?
"" :
"spell_hand"))
465 CC.
Say(
"spell_hand_miss", CC, element.
Name.ToLower());
471 List<Point> list =
new List<Point>();
473 CC.
Say(
"spell_arrow", CC, element.
Name.ToLower());
479 DamageEle(CC,
id, power, element, list, actRef,
"spell_arrow");
484 CC.
Say(
"summon_ally", CC);
487 CC.
Say(
"summon_ally_fail", CC);
490 string id3 = actRef.n1;
499 num3 = Mathf.Clamp(power / 100, 1, 5) + ((power >= 100) ?
EClass.
rnd(2) : 0);
506 case "special_force":
516 for (
int j = 0; j < num3; j++)
523 if (point ==
null || !point.
IsValid)
535 chara2 = actRef.n1
switch
550 num6 = ((!(actRef.n1 ==
"shadow")) ? (chara2.LV * (100 + power / 10) / 100 + power / 30) : (power / 10 + 1));
551 if (chara2.
LV < num6)
560 string n = actRef.n1;
561 if (!(n ==
"shadow"))
563 if (n ==
"special_force")
570 chara2.hp = chara2.MaxHP / 2;
573 if (!(actRef.n1 ==
"monster") || actRef.refThing ==
null)
585 CC.
Say(
"summon_ally_fail", CC);
593 CC.
Say(
"summon_ally_fail", CC);
596 CC.
Say(
"spell_funnel", CC, element.
Name.ToLower());
601 chara.
SetLv(power / 15);
611 if (list7.Count == 0)
615 CC.
Say(
"spell_breathe", CC, element.
Name.ToLower());
625 DamageEle(CC,
id, power, element, list7, actRef,
"spell_breathe");
649 float radius2 = ((
id ==
EffectId.Suicide) ? 3.5f : ((
float)((
id ==
EffectId.BallBubble) ? 2 : 5)));
650 if (
id ==
EffectId.Explosive && actRef.refThing !=
null)
665 bool flag4 =
id == EffectId.Explosive ||
id ==
EffectId.Suicide;
667 if (list6.Count == 0)
671 cc.
Say((
id ==
EffectId.Suicide) ?
"abSuicide" :
"spell_ball", cc, element.
Name.ToLower());
681 DamageEle(actRef.origin ?? cc,
id, power, element, list6, actRef, (
id ==
EffectId.Suicide) ?
"suicide" :
"spell_ball");
691 if (list2.Count == 0)
695 CC.
Say(
"spell_bolt", CC, element.
Name.ToLower());
705 DamageEle(CC,
id, power, element, list2, actRef,
"spell_bolt");
715 CC.
Say(
"ab" +
id, CC);
721 EffectId.MistOfDarkness => 6,
722 EffectId.Bubble => 5,
723 EffectId.Puddle => 4,
728 if (
id ==
EffectId.Bubble && CC.
id ==
"cancer")
733 for (
int i = 0; i < num; i++)
758 List<Card> list8 = tp.
ListCards().ToList();
760 if (list8.Contains(CC))
766 foreach (
Card item2
in list8)
768 if (tc ==
null || item2 == tc)
770 Proc(
id, power, state, CC, item2, actRef);
771 if (flag2 && item2.
isChara && item2 != CC)
773 CC.DoHostileAction(item2);
775 if (actRef.refThing ==
null || !(actRef.refThing.trait is
TraitRod) || (uint)(
id - 200) <= 4u)
784 CC.SayNothingHappans();
803 int orgPower = power;
812 Point randomPoint = CC.
pos.
GetRandomPoint(2, requireLos:
false, allowChara:
false, allowBlocked:
false, 200);
815 CC.
Say(
"split_fail", CC);
828 CC.
Say(
"escape", CC);
841 if (list2.Count == 0)
849 item.PlayEffect(
"vanish");
861 thing.c_idRefCard =
"dog_mine";
862 Zone.ignoreSpawnAnime =
true;
874 CC.
Say(
"abMagicMap_curse", CC);
880 CC.
Say(
"abMagicMap", CC);
895 Dice dice =
Dice.
Create(
"ActManaAbsorb", power, CC, (actRef.refThing !=
null) ? null : actRef.act);
897 TC.PlaySound(
"heal");
898 TC.PlayEffect(
"heal");
901 CC.
Say(
"absorbMana", CC);
913 TC.PlaySound(
"curse3");
914 TC.PlayEffect(
"curse");
915 TC.Say(
"forgetItems",
TC);
916 int num2 = power / 50 + 1 +
EClass.
rnd(3);
917 List<Thing> source =
TC.things.List((
Thing t) => t.c_IDTState == 0);
918 for (
int i = 0; i < num2; i++)
920 source.RandomItem().c_IDTState = 5;
929 bool armor =
id == EffectId.EnchantArmor ||
id ==
EffectId.EnchantArmorGreat;
930 bool flag4 =
id == EffectId.EnchantWeaponGreat ||
id ==
EffectId.EnchantArmorGreat;
940 cc.
Say(
"enc_curse", tc);
944 int num5 = (flag4 ? 4 : 2) + (blessed ? 1 : 0);
945 if (tc.
encLV >= num5)
947 cc.
Say(
"enc_resist", tc);
957 bool flag5 =
id ==
EffectId.GreaterIdentify;
1007 int num = (tc.isWeightChanged ? tc.c_weight : tc.
Thing.
source.weight);
1008 tc.isWeightChanged =
true;
1016 num = (int)(0.01f * (
float)num * (float)power * 0.75f + 500f);
1017 if (num < 0 || num > 10000000)
1035 cc.
Say(
"lighten_curse", cc, tc);
1039 num = num * (100 - power / 10) / 100;
1057 cc.
Say(
"lighten", cc, tc);
1081 cc.
Say(
"reconstruct", cc, tc);
1082 EClass.game.cards.uidNext +=
EClass.
rnd(30);
1086 CC.
Pick(thing3, msg:
false);
1093 case EffectId.ChangeMaterialLesser:
1095 case EffectId.ChangeMaterialGreater:
1107 string name = tc.
Name;
1110 bool num3 =
id ==
EffectId.ChangeMaterialGreater;
1111 bool flag3 =
id ==
EffectId.ChangeMaterialLesser;
1131 num4 = Mathf.Clamp(num4 +
EClass.
rnd(2), 0, 4);
1134 text2 = ((text2 ==
"metal") ?
"leather" :
"metal");
1137 for (
int j = 0; j < 1000; j++)
1148 if ((tc.
id ==
"log" || tc.
id ==
"branch") && tc.material.alias ==
"carbone")
1164 cc.
Say(
"materialChanged", name, row.GetName());
1197 Msg.
Say(
"returnNowhere");
1210 EClass.player.returnInfo =
null;
1260 Thing t3 =
ThingGen.
Create(
new string[6] {
"330",
"331",
"334",
"335",
"336",
"1142" }.RandomItem());
1283 TC.pos.PlayEffect(
"holyveil");
1284 TC.pos.PlaySound(
"holyveil");
1285 TC.pos.PlaySound(
"atk_eleSound");
1286 TC.conditions.ForeachReverse(delegate(
Condition c)
1293 TC.Say(
"abShutterHex",
TC);
1294 TC.pos.ForeachNeighbor(delegate(
Point p)
1298 if (!item3.IsHostile(CC))
1302 int dmg2 =
Dice.
Create(
"SpShutterHex", power * hex2, CC, (actRef.refThing !=
null) ?
null : actRef.act).
Roll();
1315 CC.
Say(
"abDraw", CC,
TC);
1322 if (CC.
id ==
"tentacle")
1334 if (
TC.Evalue(426) > 0)
1336 TC.Say((actRef.n1 ==
"money") ?
"abStealNegateMoney" :
"abStealNegate",
TC);
1339 Thing thing6 =
null;
1340 bool flag9 = actRef.n1 ==
"food";
1341 if (actRef.n1 ==
"money")
1353 Func<Thing, bool> func = (
Thing t) =>
true;
1356 func = (
Thing t) => t.IsFood;
1358 List<Thing> list7 =
TC.things.List(delegate(
Thing t)
1364 return t.trait.CanBeDestroyed && t.things.Count == 0 && t.invY != 1 && t.trait.CanBeStolen && !t.trait.CanOnlyCarry && !t.IsUnique && !t.isEquipped && t.blessedState == BlessedState.Normal && func(t);
1365 }, onlyAccessible:
true);
1366 if (list7.Count > 0)
1368 thing6 = list7.RandomItem();
1371 thing6 = thing6.
Split(1);
1378 CC.
Say(
"abStealNothing", CC,
TC);
1383 CC.
Pick(thing6, msg:
false);
1385 if (actRef.n1 ==
"food")
1394 CC.
Say(
"abStealEscape", CC);
1395 CC.
Teleport(GetTeleportPos(tc.
pos, 30), silent:
true);
1404 if (CC !=
null && CC !=
TC)
1406 TC.Say(
"curse", CC,
TC);
1408 TC.PlaySound(
"curse3");
1409 TC.PlayEffect(
"curse");
1410 if (
EClass.
rnd(150 +
TC.LUC * 5 +
TC.Evalue(972) * 20) >= power + (flag ? 200 : 0) ||
TC.TryNullifyCurse())
1414 List<Thing> list5 =
TC.things.List(delegate(
Thing t)
1422 if (list5.Count == 0)
1427 Thing thing5 = list5.RandomItem();
1428 TC.Say(
"curse_hit",
TC, thing5);
1436 TC.Say(
"uncurseEQ" + (blessed ?
"_bless" : (flag ?
"_curse" :
"")),
TC);
1437 TC.PlaySound(
"uncurse");
1438 TC.PlayEffect(
"uncurse");
1446 List<Thing> list =
new List<Thing>();
1447 TC.things.Foreach(delegate(
Thing t)
1452 if (t.blessedState == BlessedState.Cursed)
1454 num10 = EClass.rnd(200);
1458 num10 = EClass.rnd(1000);
1464 if (
id ==
EffectId.UncurseEQGreater)
1470 TC.Say(
"uncurseEQ_success", t);
1486 foreach (
Thing item4
in list)
1490 if (success == 0 && fail == 0)
1492 TC.SayNothingHappans();
1496 TC.Say(
"uncurseEQ_fail");
1502 string text3 = actRef.n1;
1507 if (!text4.IsEmpty())
1514 if (!actRef.aliasEle.IsEmpty())
1516 con.SetElement(EClass.sources.elements.alias[actRef.aliasEle].id);
1519 condition2.isPerfume = TC.IsPC && actRef.
isPerfume;
1520 Condition condition3 =
TC.AddCondition(condition2);
1521 if (condition3 !=
null && condition3.
isPerfume)
1523 condition3.value = 3;
1526 if (!text4.IsEmpty())
1528 CC.DoHostileAction(
TC);
1535 bool hex = CC.IsHostile(
TC);
1538 for (
int k = 0; k < 4 +
EClass.
rnd(2); k++)
1555 CC.DoHostileAction(
TC);
1556 bool isPowerful =
TC.IsPowerful;
1557 string n = actRef.n1;
1558 if (n ==
"ConSuffocation")
1560 power = power * 2 / 3;
1563 int num6 = TC.WIL * (isPowerful ? 20 : 5);
1565 if (condition !=
null)
1567 num6 += condition.power * 5;
1571 TC.Say(
"debuff_resist",
TC);
1572 CC.DoHostileAction(
TC);
1577 con.givenByPcParty = CC.IsPCParty;
1578 if (!actRef.aliasEle.IsEmpty())
1583 if (n ==
"ConBane" && CC.HasElement(1416))
1587 CC.DoHostileAction(
TC);
1595 TC.MutateRandom(1, 100, ether:
false, state);
1602 TC.MutateRandom(-1, 100, ether:
false, state);
1622 if (blessed || flag)
1626 Dialog.
InputName(
"dialogWish",
"q", delegate(
bool cancel,
string text)
1648 tc.
Say(
"faith_curse", tc,
faith.Name);
1653 tc.
Say(
"faith_bless", tc,
faith.Name);
1655 tc.
ModExp(306, power * 10);
1656 tc.
ModExp(85, power * 10);
1668 int gender2 = gender
switch
1681 if (blessed && tc.
bio.
age > 1)
1683 tc.
Say(
"ageDown", tc);
1688 tc.
Say(
"ageUp", tc);
1696 Debug.Log(power +
"/" +
id.ToString() +
"/" + actRef.n1);
1701 if (power < 0 ||
id ==
EffectId.DebuffStats)
1703 power = Mathf.Abs(power);
1717 List<KeyValuePair<int, Chara>> list6 =
EClass.
game.
cards.
globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon && a.Value.c_wasInPcParty).ToList();
1718 if (
TC.IsPCFaction ||
TC.IsPCFactionMinion)
1720 if (
TC.IsPC && list6.Count == 0)
1722 list6 =
EClass.
game.
cards.
globalCharas.Where((KeyValuePair<int, Chara> a) => a.Value.CanRevive() && a.Value.isDead && a.Value.faction == EClass.pc.faction && !a.Value.isSummon).ToList();
1724 if (list6.Count > 0)
1726 list6.RandomItem().Value.Chara.GetRevived();
1730 TC.SayNothingHappans();
1739 bool flag7 =
id == EffectId.DamageBody ||
id ==
EffectId.DamageBodyGreat;
1740 bool mind =
id == EffectId.DamageMind ||
id ==
EffectId.DamageMindGreat;
1741 int num7 = ((
id == EffectId.DamageBody ||
id ==
EffectId.DamageMind) ? 1 : (4 +
EClass.
rnd(4)));
1750 TC.PlayEffect(
"debuff");
1751 TC.PlaySound(
"debuff");
1753 TC.Say(flag7 ?
"damageBody" :
"damageMind",
TC);
1754 for (
int l = 0; l < num7; l++)
1756 TC.DamageTempElements(power, flag7, mind);
1769 bool flag8 =
id == EffectId.EnhanceBody ||
id ==
EffectId.EnhanceBodyGreat;
1770 bool mind2 =
id == EffectId.EnhanceMind ||
id ==
EffectId.EnhanceMindGreat;
1771 int num8 = ((
id == EffectId.EnhanceBody ||
id ==
EffectId.EnhanceMind) ? 1 : (4 +
EClass.
rnd(4)));
1772 TC.Say(flag8 ?
"enhanceBody" :
"enhanceMind",
TC);
1773 TC.PlayEffect(
"buff");
1774 TC.PlaySound(
"buff");
1775 for (
int m = 0; m < num8; m++)
1777 TC.EnhanceTempElements(power, flag8, mind2);
1784 bool flag6 =
id ==
EffectId.RestoreBody;
1790 TC.Say(flag6 ?
"restoreBody" :
"restoreMind",
TC);
1791 TC.PlaySound(
"heal");
1792 TC.PlayEffect(
"heal");
1801 Dice.
Create(
"SpHealLight", power, CC, (actRef.refThing !=
null) ?
null : actRef.act);
1803 TC.CureHost(
CureType.HealComplete, power, state);
1804 TC.Say(
"heal_heavy",
TC);
1813 if (actRef.act !=
null)
1815 Debug.Log(actRef.act.id);
1817 int num9 =
Dice.
Create((actRef.act !=
null &&
EClass.
sources.
calc.map.ContainsKey(actRef.act.ID)) ? actRef.act.ID :
"SpHealLight", power, CC, (actRef.refThing !=
null) ?
null : actRef.act).
Roll();
1820 TC.DamageHP(num9 / 2, 919, power);
1825 TC.Say((power >= 300) ?
"heal_heavy" :
"heal_light",
TC);
1831 TC.Say(
"heal_jure",
TC);
1834 CC.Cuddle(
TC, headpat:
true);
1847 CC.Say(
"removeHex",
TC, item5.
Name.ToLower());
1858 TC.PlaySound(
"heal");
1859 TC.PlayEffect(
"heal");
1862 TC.Say(
"cureCorruption_curse",
TC);
1864 TC.ModCorruption(power);
1868 TC.Say(
"cureCorruption",
TC);
1869 TC.ModCorruption(-power * (blessed ? 150 : 200) / 100);
1877 TC.Say(
"drinkRamune",
TC);
1881 TC.Say(
"drinkGood",
TC);
1887 TC.Say(
"drinkMilk",
TC);
1904 TC.Say(
"drinkWater_dirty",
TC);
1910 TC.Say(
"drinkWater_clear",
TC);
1916 TC.Say(
"drinkWater_dirty",
TC);
1924 if (
TC.HasElement(1211))
1926 TC.Say(
"drinkSaltWater_snail",
TC);
1927 int dmg = ((TC.hp > 10) ? (
TC.hp -
EClass.
rnd(10)) : 10000);
1932 TC.Say(
"drinkSaltWater",
TC);
1937 if (
TC.HasElement(1215))
1939 TC.Say(
"drunk_dwarf",
TC);
2095 if (list3.Count != 0)
2097 Thing thing4 = list3.RandomItem();
2098 TC.Say(
"acid_hit",
TC);
2101 TC.Say(
"acid_nullify", thing4);
2103 else if (thing4.
encLV > -5)
2105 TC.Say(
"acid_rust",
TC, thing4);
2117 TC.DamageHP(power / 5, actRef.idEle, power);
2128 TC.Say(
"drink_acid",
TC);
2129 TC.DamageHP(power / 5, 923, power);
2132 Msg.
Say(
"nothingHappens");
2139 TC.Say(
"love_curse_self",
TC);
2143 TC.Say(
"love_curse", CC,
TC);
2144 TC.ModAffinity(CC, -power / 4, show:
false);
2146 TC.ShowEmo(
Emo.angry);
2150 LoveMiracle(
TC, CC, power);
2156 Proc(_id, orgPower, _state, cc, tc, _ref1);
2162 tc.
Say(
"eat_poison", tc);
2164 int num = (int)Mathf.Sqrt(power * 100);
2176 tc.
Say(
"love_ground", tc);
2180 tc.
Say(
"love_chara", c, tc);
2199 for (
int i = 0; i < 10000; i++)
2215 string netMsg =
GameLang.
Parse(
"wish".langGame(), thirdPerson:
true, name, s);
2217 List<WishItem> list =
new List<WishItem>();
2218 int wishLv = 10 + power / 4;
2219 int wishValue = power * 200;
2222 wishLv = wishLv * 150 / 100;
2226 wishLv = wishLv * 150 / 100;
2229 Debug.Log(power +
"/" + wishValue);
2230 string _s = s.ToLower();
2238 if (
item.IsValidArtifact(r.
id))
2265 string text = r.
GetName().ToLower();
2266 int score = Compare(_s, text);
2279 if (category.IsChildOf(
"weapon") || category.IsChildOf(
"armor") || category.IsChildOf(
"ranged"))
2281 CardBlueprint.SetRarity(Rarity.Legendary);
2289 thing.c_charges = 0;
2292 num = EClass.rndHalf(wishValue);
2295 num = EClass.rndHalf(wishValue / 2000 + 4);
2298 num = EClass.rndHalf(wishValue / 1000 + 4);
2301 num = EClass.rndHalf(wishValue / 3000 + 4);
2304 if (!flag2 && thing.trait.CanStack)
2306 int num2 = wishValue;
2307 int price = thing.GetPrice();
2308 for (int i = 0; i < 1000; i++)
2310 int num3 = price + 500 + i * Mathf.Max(price, 200);
2325 Debug.Log(_s +
"/" + num +
"/" + score);
2326 if (thing.HasTag(
CTAG.godArtifact))
2328 Religion.Reforge(thing.id);
2332 EClass._zone.AddCard(thing, EClass.pc.pos);
2343 if (list.Count == 0)
2345 netMsg = netMsg + Lang.space +
"wishFail".langGame();
2353 list.Sort((WishItem a, WishItem b) => b.score - a.score);
2354 foreach (WishItem item2
in list)
2356 Debug.Log(item2.score +
"/" + s +
"/" + item2.n);
if(item3.idFile==idFirstFile &&item3.id==idFirstTopic)
static void Poison(Chara tc, Chara c, int power)
static void Proc(EffectId id, int power, BlessedState state, Card cc, Card tc=null, ActRef actRef=default(ActRef))
static Point GetTeleportPos(Point org, int radius=6)
static int Compare(string s, string t)
static void TryDelay(Action a)
static void Proc(EffectId id, Card cc, Card tc=null, int power=100, ActRef actRef=default(ActRef))
static bool DamageEle(Card CC, EffectId id, int power, Element e, List< Point > points, ActRef actref, string lang=null)
static bool Wish(string s, string name, int power, BlessedState state)
static void ProcAt(EffectId id, int power, BlessedState state, Card cc, Card tc, Point tp, bool isNeg, ActRef actRef=default(ActRef))
static void LoveMiracle(Chara tc, Chara c, int power)
static EffectIRenderer Throw(Card c, Point p, Thing t, ThrowMethod method=ThrowMethod.Default, float failChance=0f)
virtual int ElementPowerMod
void SetInt(int id, int value=0)
void SetRefVal(int a, int b)
virtual ConditionType Type
static int GetColorInt(ref Color matColor, int p)
static void Set(CardBlueprint _bp)
GlobalCharaList globalCharas
virtual string GetName(int i)
void Teleport(Point point, bool silent=false, bool force=false)
ElementContainerCard elements
void DamageHP(int dmg, AttackSource attackSource=AttackSource.None, Card origin=null)
bool HasElement(int ele, int req=1)
SourceMaterial.Row material
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Card ChangeMaterial(int idNew, bool ignoreFixedMaterial=false)
void Talk(string idTopic, string ref1=null, string ref2=null, bool forceSync=false)
virtual void SetBlessedState(BlessedState s)
bool IsInMutterDistance(int d=10)
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
virtual bool IsAliveInCurrentZone
BlessedState blessedState
void ModExp(string alias, int a)
void Say(string lang, string ref1=null, string ref2=null)
SourceMaterial.Row matObj
bool HasZoneStairs(bool includeLocked=true)
void UnqeuipIfTooHeavy(Thing t)
static Chara CreateFromElement(string idEle, int lv=-1, string idFilter="chara")
static Chara CreateFromFilter(string id, int lv=-1, int levelRange=-1)
static Chara Create(string id, int lv=-1)
override bool IsAliveInCurrentZone
bool TryNeckHunt(Chara TC, int power, bool harvest=false)
void InstantEat(Thing t=null, bool sound=true)
Condition AddCondition(string id, int p=100, bool force=false)
void ModAffinity(Chara c, int a, bool show=true, bool showOnlyEmo=false)
bool CanSeeLos(Card c, int dist=-1)
bool HasCondition(string alias)
override void Die(Element e=null, Card origin=null, AttackSource attackSource=AttackSource.None)
void SetMainElement(string id, int v=0, bool elemental=false)
override bool IsPCFaction
override bool IsPCPartyMinion
void MakeMinion(Chara _master, MinionType type=MinionType.Default)
void MakeAlly(bool msg=true)
void AddCooldown(int idEle, int turns=0)
void DoHostileAction(Card _tg, bool immediate=false)
void RequestProtection(Chara attacker, Action< Chara > action)
bool TryEquip(Thing t, bool useFav=false)
void SetSummon(int duration)
Thing MakeMilk(bool effect=true, int num=1, bool addToZone=true)
Thing Pick(Thing t, bool msg=true, bool tryStack=true)
Thing MakeEgg(bool effect=true, int num=1, bool addToZone=true)
UD_String_Color elementColors
void Kill(bool silent=false)
static Condition Create(string alias, int power=100, Action< Condition > onCreate=null)
static Type GetType(string idMat)
void Generate(Type _type, Chara model=null)
static Dialog InputName(string langDetail, string text, Action< bool, string > onClose, InputType inputType=InputType.Default)
static int RollMax(int num, int sides, int bonus=0)
static int Roll(int num, int sides, int bonus=0, Card card=null)
static Dice Create(Element ele, Card c)
static ColorProfile Colors
static void Wait(float a, Card c)
static SourceManager sources
static int rndHalf(int a)
static GameSetting setting
static void Create(Point center, int radius, int count, Action< int, Point > onComplete)
static Effect Get(Effect original)
Effect SetStartDelay(float a)
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Effect SetParticleColor(Color c)
List< Element > ListElements(Func< Element, bool > shoudList=null, Comparison< Element > comparison=null)
Dictionary< int, Element > dict
Element ModTempPotential(int ele, int v, int threshMsg=0)
Element ModBase(int ele, int v)
Element SetBase(string alias, int v, int potential=0)
Element GetOrCreateElement(Element ele)
static int[] List_MainAttributes
static int GetId(string alias)
static Element Create(int id, int v=0)
static string Parse(string text, bool thirdPerson, string val1, string val2=null, string val3=null, string val4=null)
bool disableUsermapBenefit
UD_String_ElementRef elements
ReligionManager religions
static string Name(int g)
static bool Has(string id)
static string[] GetList(string id)
static LayerDragGrid CreateEnchant(Chara cc, bool armor, bool superior=false, BlessedState state=BlessedState.Normal, int count=1)
static LayerDragGrid CreateChangeMaterial(Chara cc, Thing consume, SourceMaterial.Row mat, EffectId idEffect, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDragGrid CreateLighten(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDragGrid CreateUncurse(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDragGrid CreateReconstruction(Chara cc, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static LayerDragGrid CreateIdentify(Chara cc, bool superior=false, BlessedState state=BlessedState.Normal, int price=0, int count=1)
static void SetDirty(Thing t)
Chara FindChara(string id)
void TryShatter(Point pos, int ele, int power)
List< Point > ListPointsInArc(Point center, Point to, int radius, float angle)
void Reveal(Point center, int power=100)
void MineObj(Point point, Task task=null, Chara c=null)
void MineBlock(Point point, bool recoverBlock=false, Chara c=null, bool mineObj=true)
List< Point > ListPointsInLine(Point center, Point to, int radius)
void SetEffect(int x, int z, CellEffect effect=null)
List< Point > ListPointsInCircle(Point center, float radius, bool mustBeWalkable=true, bool los=true)
void RevealAll(bool reveal=true)
static bool IsThirdPerson(Card c)
static ThirstPersonInfo thirdPerson1
static string SayNothingHappen()
static string GetName(Card c)
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
static async UniTask< bool > SendChat(string name, string msg, ChatCategory cat, string idLang)
SourceMaterial.Row matBlock
List< Card > ListCards(bool includeMasked=false)
Point Set(int _x, int _z)
void ModFire(int value, bool extinguish=false)
SoundSource PlaySound(string id, bool synced=true, float v=1f, bool spatial=true)
bool Equals(int _x, int _z)
List< Chara > ListCharas()
Point GetRandomNeighbor()
void Animate(AnimeID id, bool animeBlock=false)
Point GetNearestPoint(bool allowBlock=false, bool allowChara=true, bool allowInstalled=true, bool ignoreCenter=false)
Point GetRandomPoint(int radius, bool requireLos=true, bool allowChara=true, bool allowBlocked=false, int tries=100)
ReligionTrickery Trickery
void Talk(string idTalk, Card c=null, Card agent=null)
static void ShakeCam(string id="default", float magnitude=1f)
Dictionary< string, CardRow > map
static Dictionary< string, TierList > tierMap
List< Zone > ListReturnLocations()
static SpawnList Get(string id, Func< SourceChara.Row, bool > func)
static Thing Create(string id, int idMat=-1, int lv=-1)
override CardRow sourceCard
Thing Identify(bool show=true, IDTSource idtSource=IDTSource.Identify)
static void BadEffect(Chara c)
virtual bool CanBeAttacked
static void Reserve(string idStep, Action onBeforePlay=null)
static void Play(string idStep)
bool ContainsKey(TKey key)
bool TryGetValue(TKey key, out TValue value)
int CountMinions(Chara c)
Card AddCard(Card t, Point point)