Elin Decompiled Documentation EA 23.276 Nightly Patch 2
Loading...
Searching...
No Matches
ZoneEventWedding.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3using Newtonsoft.Json;
4using UnityEngine;
5
7{
8 [JsonProperty]
9 public int attendees;
10
11 [JsonProperty]
13
14 public QuestWedding questWedding => base.quest as QuestWedding;
15
16 public override string TextWidgetDate => "eventWedding".lang((TimeLimit - minElapsed <= 30) ? "end_soon".lang() : "", attendees.ToString() ?? "");
17
18 public override int TimeLimit => 180;
19
20 public int MaxAttendee => 50;
21
22 public override void OnVisit()
23 {
24 if (EClass.game.isLoading || (EClass.debug.enable && Input.GetKey(KeyCode.LeftShift)))
25 {
26 return;
27 }
28 foreach (Thing thing2 in EClass._map.things)
29 {
30 if (!thing2.isHidden)
31 {
32 thing2.isNPCProperty = true;
33 }
34 }
35 EClass._zone.SetFieldEffect(10001, 1);
36 List<Chara> list = new List<Chara>();
37 foreach (Chara value in EClass.game.cards.globalCharas.Values)
38 {
39 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)
40 {
41 list.Add(value);
42 }
43 }
44 list.Sort((Chara a, Chara b) => Mathf.Abs(b.affinity.value) - Mathf.Abs(a.affinity.value));
45 if (list.Count > MaxAttendee)
46 {
47 list.RemoveRange(MaxAttendee, list.Count - MaxAttendee);
48 }
49 List<Thing> list2 = new List<Thing>();
50 bool flag = EClass.pc.HasElement(1250);
51 foreach (Thing thing3 in EClass._map.things)
52 {
53 if (thing3.HasElement(10))
54 {
55 thing3.isNPCProperty = false;
56 thing3.c_priceFix = -90;
57 thing3.SetBool(128, enable: true);
58 if (flag)
59 {
60 thing3.elements.ModBase(710, 2);
61 }
62 }
63 if (thing3.id == "1321")
64 {
65 list2.Add(thing3);
66 }
67 }
68 list2.Sort((Thing a, Thing b) => a.pos.index - b.pos.index);
69 foreach (Chara item in list)
70 {
71 if (list2.Count == 0)
72 {
73 break;
74 }
76 attendees++;
77 item.MoveZone(EClass._zone);
78 Thing thing = list2.Last();
79 list2.Remove(thing);
80 item.noMove = false;
81 item.turnLastSeen = -100;
82 item.MoveImmediate(thing.pos, focus: false);
83 }
84 }
85
86 public override void OnLeaveZone()
87 {
89 }
90
92 {
93 Msg.Say("party_end3");
94 return ZoneInstance.Status.Success;
95 }
96}
int value
Definition: Affinity.cs:26
void SetBool(int id, bool enable)
Definition: BaseCard.cs:20
GlobalCharaList globalCharas
Definition: CardManager.cs:46
ElementContainerCard elements
Definition: Card.cs:42
string id
Definition: Card.cs:36
bool isRestrained
Definition: Card.cs:567
Point pos
Definition: Card.cs:60
bool isHidden
Definition: Card.cs:531
bool HasElement(int ele, bool includeNagative=false)
Definition: Card.cs:6090
void Add(Chara c)
Definition: Chara.cs:10
ConSuspend conSuspend
Definition: Chara.cs:104
override bool IsPCFaction
Definition: Chara.cs:685
Zone currentZone
Definition: Chara.cs:257
Affinity affinity
Definition: Chara.cs:316
bool isDead
Definition: Chara.cs:391
bool enable
Definition: CoreDebug.cs:286
Definition: EClass.cs:6
static Game game
Definition: EClass.cs:9
static Zone _zone
Definition: EClass.cs:21
static Map _map
Definition: EClass.cs:19
static Chara pc
Definition: EClass.cs:15
static CoreDebug debug
Definition: EClass.cs:49
Element ModBase(int ele, int v)
bool isLoading
Definition: Game.cs:242
CardManager cards
Definition: Game.cs:156
List< Thing > things
Definition: Map.cs:49
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
int index
Definition: Point.cs:49
Chara chara
Definition: Quest.cs:105
Definition: Thing.cs:8
override string TextWidgetDate
CharaMassTransfer transfer
override void OnLeaveZone()
override void OnVisit()
override ZoneInstance.Status OnReachTimeLimit()
override int TimeLimit
QuestWedding questWedding
int minElapsed
Definition: ZoneEvent.cs:15
bool IsPCFaction
Definition: Zone.cs:475
void SetFieldEffect(int idEle, int a)
Definition: Zone.cs:2928