public static bool isQuestComplete(NewQuestsData questData) { if ((questData.completionState > 0) && (questData.questID >= 0)) { return true; } NewQuests.NewQuestDefinition definition = NewQuests.getNewQuestDef(questData.questID); if (definition != null) { switch (questData.questID) { case 0x42: if (questData.data != 0x3f) { break; } return true; case 0x43: case 0x2a: case 5: case 20: case 0x63: case 0x7d: case 140: case 0x94: case 0x9d: case 0xa7: { double num2 = GameEngine.Instance.World.getCurrentGold() - questData.startingData; if (num2 < definition.parameter) { break; } return true; } case 0x1d: if (questData.data != 15) { break; } return true; case 0x92: if (questData.data != 0xff) { break; } return true; default: if (definition.parameter == 0) { if (questData.data > 0) { return true; } } else if (questData.data >= definition.parameter) { return true; } break; } } return false; }
public void rebuild() { int[] completedQuests = null; int y = 0; this.questsScrollArea.clearControls(); if (this.isQuestList) { if (this.completedQuests == null) { NewQuestsData data = GameEngine.Instance.World.getNewQuestData(); if (data == null) { return; } completedQuests = data.completedQuests; } else { completedQuests = this.completedQuests.ToArray(); } for (int i = 0; i < completedQuests.Length; i++) { int quest = completedQuests[i]; NewQuestLine control = new NewQuestLine(); if (y != 0) { y += 5; } control.Position = new Point(0, y); control.init(quest, i); this.questsScrollArea.addControl(control); y += control.Height; } } else { CustomSelfDrawPanel.CSDLabel label = new CustomSelfDrawPanel.CSDLabel(); switch (this._questID) { case 0x22: case 0x30: case 4: case 0x10: case 0x65: case 0x7a: case 0x40: case 0x54: if ((!GameEngine.Instance.World.isBigpointAccount && !Program.aeriaInstall) && (!Program.bigpointPartnerInstall && !Program.arcInstall)) { label.Text = SK.Text("QUESTS_IAF_Help1", "Learn about how inviting your friends to the game can earn you up to $160 worth of crowns."); } else { label.Text = SK.Text("QUESTS_IAF_Help2", "Why not invite a friend to play Kingdoms? They can fight alongside you and you will help us to further develop the game. "); } break; default: label.Text = SK.NoStoreText("Z_QUEST_HELP_" + this.questText); break; } label.Color = ARGBColors.Black; label.Position = new Point(0x24, 30); label.Size = new Size(this.questsScrollArea.Width, this.questsScrollArea.Height); label.Font = FontManager.GetFont("Arial", 12f, FontStyle.Regular); label.Alignment = CustomSelfDrawPanel.CSD_Text_Alignment.CENTER_CENTER; this.mainBackgroundImage.addControl(label); } this.questsScrollArea.Size = new Size(this.questsScrollArea.Width, y); if (y < this.questsScrollBar.Height) { this.questsScrollBar.Visible = false; } else { this.questsScrollBar.Visible = true; this.questsScrollBar.NumVisibleLines = this.questsScrollBar.Height; this.questsScrollBar.Max = y - this.questsScrollBar.Height; } this.questsScrollArea.invalidate(); this.questsScrollBar.invalidate(); this.mainBackgroundImage.invalidate(); }