Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
TraitDaggerGrave.cs
Go to the documentation of this file.
1using UnityEngine;
2
4{
5 public override string LangUse => "actMourn";
6
7 public override bool CanUseFromInventory => false;
8
9 public override bool CanBeHeld => !(EClass._zone is Zone_WindRest);
10
11 public override bool UseExtra => owner.isOn;
12
13 public override bool OnUse(Chara c)
14 {
16 {
17 if (!owner.isOn)
18 {
19 if (EClass.world.date.hour >= 0 && EClass.world.date.hour < 19)
20 {
21 owner.PlaySound("curse3");
22 owner.PlayEffect("curse");
23 Msg.Say("daggerCursed");
24 return true;
25 }
26 owner.isOn = true;
27 Effect.Get("hit_light").Play(owner.pos);
28 owner.PlaySound("crystal resonance");
29 int num = RemainingSword();
30 Debug.Log(num);
31 string[] list = Lang.GetList("daggerTalk");
32 owner.TalkRaw(list[num]);
34 if (num == 0 || (EClass.debug.enable && EInput.isShiftDown))
35 {
36 SoundManager.ForceBGM();
37 LayerDrama.Activate("_event", "event", "swordkeeper");
38 }
39 }
40 }
41 else
42 {
43 owner.isOn = !owner.isOn;
44 }
45 string text = owner.c_context;
46 if (EClass.core.config.backer.FilterAll || text.IsEmpty())
47 {
48 text = "filteredBacker".lang();
49 }
50 Msg.Say("daggerGrave", text);
51 return true;
52 }
53
54 public int RemainingSword()
55 {
56 int num = 0;
57 foreach (Thing thing in EClass._map.things)
58 {
59 if ((!(thing.id != "grave_dagger1") || !(thing.id != "grave_dagger2")) && thing.isOn)
60 {
61 num++;
62 }
63 }
64 return 14 - num;
65 }
66}
string id
Definition: Card.cs:31
SoundSource PlaySound(string id, float v=1f, bool spatial=true)
Definition: Card.cs:5404
void RecalculateFOV()
Definition: Card.cs:5616
Point pos
Definition: Card.cs:55
Effect PlayEffect(string id, bool useRenderPos=true, float range=0f, Vector3 fix=default(Vector3))
Definition: Card.cs:5438
string c_context
Definition: Card.cs:1577
bool isOn
Definition: Card.cs:514
void TalkRaw(string text, string ref1=null, string ref2=null, bool forceSync=false)
Definition: Card.cs:5988
Definition: Chara.cs:10
BackerContentConfig backer
Definition: CoreConfig.cs:600
bool enable
Definition: CoreDebug.cs:285
CoreConfig config
Definition: Core.cs:70
int hour
Definition: Date.cs:74
Definition: EClass.cs:5
static Core core
Definition: EClass.cs:6
static Zone _zone
Definition: EClass.cs:20
static World world
Definition: EClass.cs:40
static Map _map
Definition: EClass.cs:18
static CoreDebug debug
Definition: EClass.cs:48
Definition: EInput.cs:8
static bool isShiftDown
Definition: EInput.cs:261
Definition: Effect.cs:7
static Effect Get(Effect original)
Definition: Effect.cs:85
void Play(float delay, Point from, float fixY=0f, Point to=null, Sprite sprite=null)
Definition: Effect.cs:100
Definition: Lang.cs:6
static string[] GetList(string id)
Definition: Lang.cs:114
static LayerDrama Activate(string book, string idSheet, string idStep, Chara target=null, Card ref1=null, string tag="")
Definition: LayerDrama.cs:66
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
Definition: Thing.cs:8
override bool CanUseFromInventory
override bool UseExtra
override string LangUse
override bool OnUse(Chara c)
override bool CanBeHeld
Card owner
Definition: Trait.cs:26
GameDate date
Definition: World.cs:6