Elin Decompiled Documentation EA 23.102 Nightly
Loading...
Searching...
No Matches
QuestRandom.cs
Go to the documentation of this file.
1public class QuestRandom : Quest
2{
3 public override bool CanAutoAdvance => false;
4
5 public override bool IsRandomQuest => true;
6
7 public override int RangeDeadLine => 12;
8
9 public override int KarmaOnFail => -5;
10
11 public override int FameOnComplete => 4 + difficulty * 2;
12
13 public override string RefDrama1 => Lang._currency(rewardMoney, showUnit: true, 0);
14
15 public override void OnDropReward()
16 {
17 int num = bonusMoney * (55 + difficulty * 15) / 100;
18 int num2 = rewardMoney + num;
19 if (num2 > 0)
20 {
21 if (num > 0)
22 {
23 Msg.Say("reward_bonus", num.ToString() ?? "");
24 }
26 }
27 Zone zone = EClass._zone.GetTopZone();
28 if ((!zone.IsTown || zone.IsPCFaction) && base.ClientZone != null)
29 {
30 Zone topZone = base.ClientZone.GetTopZone();
31 if (topZone.IsTown && !topZone.IsPCFaction)
32 {
33 zone = topZone;
34 }
35 }
37 string text = Util.EnumToList<SubReward>().RandomItem().ToString();
38 if (EClass.rnd(5) == 0)
39 {
40 text = "gacha_coin_silver";
41 }
42 if (EClass.rnd(15) == 0)
43 {
44 text = "gacha_coin_gold";
45 }
46 Thing thing = ThingGen.Create(text);
47 if (thing.id == "ticket_furniture")
48 {
49 TraitTicketFurniture.SetZone(zone, thing);
50 }
51 DropReward(thing);
52 thing = ThingGen.Create("plat").SetNum(GetRewardPlat(num2));
53 DropReward(thing);
54 Rand.SetSeed();
55 if (zone.IsTown || zone.IsPCFaction)
56 {
57 zone.GetTopZone().ModInfluence(1);
58 }
59 if (FameOnComplete > 0)
60 {
62 }
63 }
64}
string id
Definition: Card.cs:31
Thing SetNum(int a)
Definition: Card.cs:3242
Definition: EClass.cs:5
static int rnd(int a)
Definition: EClass.cs:50
static Zone _zone
Definition: EClass.cs:20
static int rndHalf(int a)
Definition: EClass.cs:74
static Player player
Definition: EClass.cs:12
Definition: Lang.cs:6
static string _currency(object a, string IDCurrency)
Definition: Lang.cs:162
Definition: Msg.cs:5
static string Say(string idLang, string ref1, string ref2=null, string ref3=null, string ref4=null)
Definition: Msg.cs:58
void ModFame(int a)
Definition: Player.cs:1879
override int KarmaOnFail
Definition: QuestRandom.cs:9
override int RangeDeadLine
Definition: QuestRandom.cs:7
override bool CanAutoAdvance
Definition: QuestRandom.cs:3
override string RefDrama1
Definition: QuestRandom.cs:13
override bool IsRandomQuest
Definition: QuestRandom.cs:5
override int FameOnComplete
Definition: QuestRandom.cs:11
override void OnDropReward()
Definition: QuestRandom.cs:15
Definition: Quest.cs:7
SubReward
Definition: Quest.cs:21
int uid
Definition: Quest.cs:34
virtual int GetRewardPlat(int money)
Definition: Quest.cs:282
int rewardMoney
Definition: Quest.cs:52
int bonusMoney
Definition: Quest.cs:55
Thing DropReward(string id)
Definition: Quest.cs:506
int difficulty
Definition: Quest.cs:49
Definition: Rand.cs:4
static void SetSeed(int a=-1)
Definition: Rand.cs:37
static Thing CreateCurrency(int a, string id="money")
Definition: ThingGen.cs:37
static Thing Create(string id, int idMat=-1, int lv=-1)
Definition: ThingGen.cs:53
Definition: Thing.cs:8
static void SetZone(Zone zone, Thing t)
Definition: Util.cs:10
Definition: Zone.cs:12
Zone GetTopZone()
Definition: Zone.cs:1854
virtual bool IsTown
Definition: Zone.cs:220
void ModInfluence(int a)
Definition: Zone.cs:3301
bool IsPCFaction
Definition: Zone.cs:464