Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
ZoneEventMusic.cs
Go to the documentation of this file.
1using System.Collections.Generic;
2using System.Linq;
3using UnityEngine;
4
6{
7 public QuestMusic questMusic => base.quest as QuestMusic;
8
9 public override string TextWidgetDate => "eventMusic".lang((TimeLimit - minElapsed <= 30) ? "end_soon".lang() : "", questMusic.score.ToString() ?? "", questMusic.destScore.ToString() ?? "");
10
11 public override int TimeLimit => 180;
12
13 public override void OnVisit()
14 {
15 if (EClass.game.isLoading || (EClass.debug.enable && Input.GetKey(KeyCode.LeftShift)))
16 {
17 return;
18 }
19 int difficulty = questMusic.difficulty;
20 int maxLv = difficulty * 5 + 2;
21 if (difficulty > 2)
22 {
23 maxLv += (difficulty - 2) * 10;
24 }
26 genBounds.marginPartial = 1;
27 genBounds.FuncCheckEmpty = (Cell cell) => cell.sourceFloor.id == 76;
28 int i;
29 for (i = 0; i < 25; i++)
30 {
31 genBounds.TryAddMapPiece(MapPiece.Type.Concert, 0f, "", delegate(PartialMap p, GenBounds b)
32 {
33 int num = 1 + i * 3;
34 if (num > maxLv)
35 {
36 num = EClass.rnd(maxLv);
37 }
38 List<Point> list = b.ListEmptyPoint();
39 for (int k = 0; k < EClass.rndHalf(list.Count); k++)
40 {
41 if (list.Count == 0)
42 {
43 break;
44 }
45 Point point = list.RandomItem();
46 Chara c4 = CharaGen.CreateFromFilter("c_neutral", num, 5);
47 Spawn(c4, point);
48 list.Remove(point);
49 }
50 });
51 }
52 foreach (SourceChara.Row item in EClass.sources.charas.rows.Where((SourceChara.Row c) => c.tag.Contains("party")))
53 {
54 if (item.LV >= maxLv * 2)
55 {
56 continue;
57 }
58 Point randomPoint = EClass._map.bounds.GetRandomPoint();
59 if (randomPoint.HasChara || randomPoint.HasBlock)
60 {
61 continue;
62 }
63 bool flag = true;
64 foreach (Chara member in EClass.pc.party.members)
65 {
66 if (member.id == item.id)
67 {
68 flag = false;
69 }
70 }
71 if (flag)
72 {
73 Chara c2 = CharaGen.Create(item.id);
74 Spawn(c2, randomPoint);
75 }
76 }
77 for (int j = 0; j < 50; j++)
78 {
79 Point randomPoint2 = EClass._map.bounds.GetRandomPoint();
80 if (!randomPoint2.HasChara && !randomPoint2.HasBlock)
81 {
82 Chara c3 = CharaGen.CreateFromFilter("c_neutral", maxLv / 2);
83 Spawn(c3, randomPoint2);
84 }
85 }
86 foreach (Thing thing in EClass._map.things)
87 {
88 thing.isNPCProperty = true;
89 }
90 }
91
92 public void Spawn(Chara c, Point p)
93 {
94 EClass._zone.AddCard(c, p);
95 if (c.hostility < Hostility.Neutral)
96 {
97 Hostility c_originalHostility = (c.hostility = Hostility.Neutral);
98 c.c_originalHostility = c_originalHostility;
99 }
100 }
101
103 {
104 Msg.Say("party_end", questMusic.score.ToString() ?? "");
105 Msg.Say("party_end2", questMusic.sumMoney.ToString() ?? "");
107 {
108 return ZoneInstance.Status.Fail;
109 }
110 return ZoneInstance.Status.Success;
111 }
112}
Hostility
Definition: Hostility.cs:2
string id
Definition: Card.cs:31
Definition: Cell.cs:7
static Chara CreateFromFilter(string id, int lv=-1, int levelRange=-1)
Definition: CharaGen.cs:22
static Chara Create(string id, int lv=-1)
Definition: CharaGen.cs:17
Definition: Chara.cs:10
Party party
Definition: Chara.cs:43
Hostility hostility
Definition: Chara.cs:276
bool enable
Definition: CoreDebug.cs:285
Definition: EClass.cs:5
static Game game
Definition: EClass.cs:8
static int rnd(int a)
Definition: EClass.cs:50
static Zone _zone
Definition: EClass.cs:20
static Map _map
Definition: EClass.cs:18
static SourceManager sources
Definition: EClass.cs:42
static int rndHalf(int a)
Definition: EClass.cs:74
static Chara pc
Definition: EClass.cs:14
static CoreDebug debug
Definition: EClass.cs:48
bool isLoading
Definition: Game.cs:235
static GenBounds Create(Zone z)
Definition: GenBounds.cs:123
List< Point > ListEmptyPoint()
Definition: GenBounds.cs:94
PartialMap TryAddMapPiece(MapPiece.Type type=MapPiece.Type.Any, float ruin=-1f, string tags=null, Action< PartialMap, GenBounds > onCreate=null)
Definition: GenBounds.cs:183
Point GetRandomPoint()
Definition: MapBounds.cs:97
List< Thing > things
Definition: Map.cs:49
MapBounds bounds
Definition: Map.cs:52
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
List< Chara > members
Definition: Party.cs:18
Definition: Point.cs:9
bool HasBlock
Definition: Point.cs:141
bool HasChara
Definition: Point.cs:226
int score
Definition: QuestMusic.cs:6
int destScore
Definition: QuestMusic.cs:9
int sumMoney
Definition: QuestMusic.cs:12
int difficulty
Definition: Quest.cs:49
SourceChara charas
Definition: Thing.cs:8
override ZoneInstance.Status OnReachTimeLimit()
QuestMusic questMusic
override int TimeLimit
void Spawn(Chara c, Point p)
override string TextWidgetDate
override void OnVisit()
int minElapsed
Definition: ZoneEvent.cs:15
Card AddCard(Card t, Point point)
Definition: Zone.cs:1893