/// <summary> /// Add a goal for this quest and give it a unique identifier /// </summary> /// <param name="ID"></param> /// <param name="description"></param> /// <param name="type"></param> /// <param name="targetNumber"></param> /// <param name="questItem"></param> /// <returns></returns> protected QuestGoal AddGoal(string id, string description, QuestGoal.GoalType type, int targetNumber, ItemTemplate questItem) { QuestGoal goal = new QuestGoal(id, this, description, type, Goals.Count + 1, targetNumber, questItem); Goals.Add(goal); return(goal); }
/// <summary> /// Mark a quest goal as completed. /// </summary> /// <param name="goal"></param> public IEnumerator Mark(QuestGoal goal) { var goalId = Id + "/" + goal.Id; if (State.Completed.Contains(Id)) { yield break; } if (State.Completed.Contains(goalId)) { yield break; } State.Completed.Add(goalId); // NB: check that all goals are completed. if (!Goals.TrueForAll(g => State.Completed.Contains(Id + "/" + g.Id))) { yield break; } State.Completed.Add(Id); foreach (Event e in OnDone) { yield return(e.Fire()); } }
private void Init() { // item db check RecruitsCloak = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_cloak"); if (RecruitsCloak == null) { RecruitsCloak = new ItemTemplate(); RecruitsCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsCloak.Name + ", creating it ..."); } RecruitsCloak.Level = 5; RecruitsCloak.Weight = 3; RecruitsCloak.Model = 443; RecruitsCloak.Color = 36; RecruitsCloak.Object_Type = (int)eObjectType.Magical; RecruitsCloak.Item_Type = (int)eEquipmentItems.CLOAK; RecruitsCloak.Id_nb = "k109_recruits_cloak"; RecruitsCloak.Price = 0; RecruitsCloak.IsPickable = true; RecruitsCloak.IsDropable = false; // can't be sold to merchand RecruitsCloak.Bonus1 = 6; RecruitsCloak.Bonus1Type = (int)eProperty.MaxHealth; RecruitsCloak.Quality = 100; RecruitsCloak.Condition = 50000; RecruitsCloak.MaxCondition = 50000; RecruitsCloak.Durability = 50000; RecruitsCloak.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsCloak); } LetterToPompin = GameServer.Database.FindObjectByKey <ItemTemplate>("letter_to_pompin"); if (LetterToPompin == null) { LetterToPompin = new ItemTemplate(); LetterToPompin.Weight = 0; LetterToPompin.Condition = 50000; LetterToPompin.MaxCondition = 50000; LetterToPompin.Model = 499; LetterToPompin.Extension = 1; LetterToPompin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text2"); LetterToPompin.Id_nb = "letter_to_pompin"; GameServer.Database.AddObject(LetterToPompin); } Level = 1; QuestGiver = MasterClaistan; Rewards.Experience = 22; Rewards.MoneyPercent = 100; Rewards.AddBasicItem(RecruitsCloak); Rewards.ChoiceOf = 1; pompinsletter = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text3"), QuestGoal.GoalType.ScoutMission, 1, LetterToPompin); }
private string GetGoalText(QuestGoal questGoal) { if (questGoal.IsCompleted) { return("<color=green> - " + questGoal.Description + "</color>"); } return("<color=red> - " + questGoal.Description + "</color>"); }
public void ReadXmlPrototype(XmlTextReader reader_parent) { Name = reader_parent.GetAttribute("Name"); Goals = new List <QuestGoal>(); Rewards = new List <QuestReward>(); PreRequiredCompletedQuest = new List <string>(); XmlReader reader = reader_parent.ReadSubtree(); while (reader.Read()) { switch (reader.Name) { case "Description": reader.Read(); Description = reader.ReadContentAsString(); break; case "PreRequiredCompletedQuests": XmlReader subReader = reader.ReadSubtree(); while (subReader.Read()) { if (subReader.Name == "PreRequiredCompletedQuest") { PreRequiredCompletedQuest.Add(subReader.GetAttribute("Name")); } } break; case "Goals": XmlReader goals_reader = reader.ReadSubtree(); while (goals_reader.Read()) { if (goals_reader.Name == "Goal") { QuestGoal goal = new QuestGoal(); goal.ReadXmlPrototype(goals_reader); Goals.Add(goal); } } break; case "Rewards": XmlReader reward_reader = reader.ReadSubtree(); while (reward_reader.Read()) { if (reward_reader.Name == "Reward") { QuestReward reward = new QuestReward(); reward.ReadXmlPrototype(reward_reader); Rewards.Add(reward); } } break; } } }
public Quest(bool isActive, string title, int number, string description, QuestGoal goal, int questExperience) { this.isActive = isActive; this.title = title; this.number = number; this.description = description; this.goal = goal; this.questExperience = questExperience; }
/// <summary> /// Creates a new Quest; /// </summary> /// <param name="ID">ID for the quest;</param> /// <param name="reward">Reward ID for the quest</param> /// <param name="Dtext">Description for the quest;</param> /// <param name="Ntext">Name for the quest</param> /// <param name="newGoal">Goal that needs to be reached to complete the quest;</param> public Quest(int ID, int reward, string description, string complete, string active, string name, QuestGoal newGoal) { questID = ID; rewardNumber = reward; questDescription = description; questCompleteDescription = complete; questActiveDescription = active; questName = name; goal = newGoal; }
/// <summary> /// Adds a goal at the end of the quest list. /// </summary> /// <param name="goal">Goal.</param> public void addGoal(QuestGoal goal) { if (goal != null) { questPath.Add(goal); } else { Debug.LogWarning("Attempted to add empty goal"); } }
public Quest(QuestGoal type, string description, int reward, int killGoal, string killType, string arriveType, string useType, string talkType) { this.Description = description; this.Reward = reward; this.Type = type; this.KillCounter = 0; this.KillGoal = killGoal; this.KillType = killType; this.ArriveType = arriveType; this.UseType = useType; this.TalkType = talkType; }
private void Init() { ItemTemplate insigniarings = new ItemTemplate(); insigniarings.Weight = 0; insigniarings.Condition = 50000; insigniarings.MaxCondition = 50000; insigniarings.Model = 103; insigniarings.Extension = 1; insigniarings.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.DredgeUpAPledge.Init.Text1"); Level = 1; QuestGiver = sirDorian; Rewards.Experience = 30; Rewards.MoneyPercent = 100; banditPledgesKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.DredgeUpAPledge.Init.Text2"), QuestGoal.GoalType.KillTask, 2, insigniarings); }
public override void CheckGoals() { //checks ALL Goals' Completed properties value; QuestStatus = QuestGoal.All(g => g.CompletedGoal); if (QuestStatus) { Debug.Log(this + " backend evaluated Goals as CompletedGoals == true from CheckGoals()"); InformQuestGiverOfQuestStatus(); //TODO we want the quest giver to call this after turning in quest //then we don't have to pass a reference to the playersQuestList on every quest Debug.Log("Quest removed " + this.name + "This will cross off the quest via an OnQuestRemoved event"); playersQuestList.RemoveQuestItem(this); //Here we remove the Quest from the QuestList, but there are still references to it in the UI. => TODO: decide if we want to keep the references to display "0/1 completed". Or we want to delete the references and just show "Completed" //TODO setp24. We are trying to not cross off the quest until it is turned in. Right now, when you collect all the mats, it crosses off before you can turn it in. } }
void OnEnable() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.CollectionGoal }; QuestGiver_ID = "Bird-0"; QuestName = "Test Quest"; QuestDescription = "This is a test for a collection goal"; QuestStartPoint = null; QuestTurnInPoint = transform.parent; QuestReward = null; QuestStatus = false; QuestGoal.Add(new CollectionGoal(this, "Bird", "Bird", false, "testItem", 0, 2)); QuestGoal.ForEach(g => g.Init()); MustTurnInToComplete = true; }
void OnEnable() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.CollectionGoal }; QuestGiver_ID = "Bird-0"; QuestName = "Bird's Last Journal Entry"; QuestDescription = "This journal is bird sized so it's very hard to read anything in it..." + "However the handwriting on this last page doesn't look like it was written by a bird..." + "It looks like theres some initials M & C..."; QuestStartPoint = ObjectFinder.BirdTransform; QuestTurnInPoint = ObjectFinder.CarlTransform; QuestTurnInPoint.GetComponent <QuestGiver>().hasDisocveredSecretDialogue = true; QuestReward = null; QuestStatus = false;//change this to false once you figure out the collection goal bug QuestGoal.Add(new CollectionGoal(this, "Bird_Book", "Carl", false, "Bird_Book", 0, 1)); }
// Draw the property inside the given rect public override void OnGUI(Rect pos, SerializedProperty prop, GUIContent label) { // Serialize variables to be able to save them SerializedProperty itemID = prop.FindPropertyRelative("_itemID"); SerializedProperty reqAmmount = prop.FindPropertyRelative("_requiredAmmount"); SerializedProperty goalType = prop.FindPropertyRelative("_goalType"); //SerializedProperty npcID = prop.FindPropertyRelative("_npcID"); // Height of rectangles will be 1 line pos.height = EditorGUIUtility.singleLineHeight; // Begin Property EditorGUI.BeginProperty(pos, label, prop); // Set rectangles and positions for all properties Rect elementRect = new Rect(pos.x, pos.y, pos.width, pos.height); Rect typeRect = new Rect(pos.x + 15, pos.y + 16, _width, pos.height); Rect itemIDRect = new Rect(pos.x, pos.y + 16 * 2, _width, pos.height - _spacing); Rect reqAmmountRect = new Rect(pos.x + 75, pos.y + 16 * 3, _width, pos.height); // Write on inspector the quest goal element _folded = EditorGUI.PropertyField(elementRect, prop); if (_folded) { // Change the indentation of the GUI content EditorGUI.indentLevel = 3; // Add a popup with the enum types goalType.intValue = EditorGUI.Popup(typeRect, "Goal Type", goalType.intValue, QuestGoal.GetEnumValuesAsStrings()); ShowCollectOptions(itemIDRect, reqAmmountRect, goalType, itemID, reqAmmount); //ShowSpeakOptions(itemIDRect, goalType, npcID); } // End Property EditorGUI.EndProperty(); }
void Start() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.DiscoveryGoal }; QuestGiver_ID = null; QuestName = "Explore The Island"; QuestDescription = "You've finally arrived to this remote isle after being urgently " + "called to help fix a 'very important system'. Explore the island!"; QuestStartPoint = null; QuestTurnInPoint = null; QuestReward = null;//You can talk to Pers now. QuestStatus = false; QuestGoal.Add(new DiscoveryGoal(this, false, 0, 15, "island")); QuestGoal.ForEach(g => g.Init()); StartCoroutine(LateStart()); }
void OnEnable() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.CollectionGoal, }; QuestGiver_ID = "Eyeguard-0"; QuestName = "Need Those Spells!!"; QuestDescription = "There's gotta be a way around the Eyeguard's tricks..."; QuestStartPoint = null; QuestTurnInPoint = GameObject.Find("Eyeguard").transform; QuestReward = null; QuestStatus = false; QuestGoal.Add(new CollectionGoal(this, null, null, false, "ElementalTome", 0, 4)); //QuestGoal.Add(new CollectionGoal(this, null, null, false, "EarthTome", 0, 1)); //QuestGoal.Add(new CollectionGoal(this, null, null, false, "FireTome", 0, 1)); //QuestGoal.Add(new CollectionGoal(this, null, null, false, "WaterTome", 0, 1)); QuestGoal.ForEach(g => g.Init()); }
void OnEnable() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.ConversationGoal }; QuestGiver_ID = "Ip-0"; QuestName = "Let Ed Know Youre Here"; QuestDescription = "Find and speak with Ed. " + "You've just met Ip, a caretaker of the isle." + " Ip said his brother, Ed, was the one who called you " + "and he should be on the Templ's right side, next to the herd."; QuestStartPoint = transform.parent; QuestTurnInPoint = ObjectFinder.EdTransform; QuestReward = null; QuestStatus = true; //QuestStatus is true, you just need to turn in the Quest QuestGoal.Add(new ConversationGoal(this, "Ip", "Ed", false, 0, 1, "Ed")); //Completed is false, you need to turn in the Quest to complete it QuestGoal.ForEach(g => g.Init()); }
void OnEnable() { GameObject.FindWithTag("Cauldron").GetComponent <Cauldron>().CanCook = true; Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.CollectionGoal }; QuestGiver_ID = "Carl-0"; QuestName = "His Endless Body"; QuestDescription = "Seems Ip's brother, Carl, is having a bad trip. " + "Ironically the only thing that can save him is more shrooms." + "Carl more or less asked you to find some nearby mushrooms and make" + "a detox tea with them using his cauldron. "; QuestStartPoint = transform.parent; QuestTurnInPoint = transform.parent; QuestReward = null; QuestStatus = false; QuestGoal.Add(new CollectionGoal(this, "Carl", "Carl", false, "Eternity Potion", 0, 1)); QuestGoal.ForEach(g => g.Init()); }
/// <summary> /// Reads the prototype from the specified JObject. /// </summary> /// <param name="jsonProto">The JProperty containing the prototype.</param> public void ReadJsonPrototype(JProperty jsonProto) { Name = jsonProto.Name; JToken innerJson = jsonProto.Value; Goals = new List <QuestGoal>(); Rewards = new List <QuestReward>(); RequiredQuests = new List <string>(); Description = PrototypeReader.ReadJson(Description, innerJson["Description"]); if (innerJson["RequiredQuests"] != null) { foreach (JToken token in innerJson["RequiredQuests"]) { RequiredQuests.Add((string)token); } } if (innerJson["Goals"] != null) { foreach (JToken token in innerJson["Goals"]) { QuestGoal goal = new QuestGoal(); goal.ReadJsonPrototype(token); Goals.Add(goal); } } if (innerJson["Rewards"] != null) { foreach (JToken token in innerJson["Rewards"]) { QuestReward reward = new QuestReward(); reward.ReadJsonPrototype(token); Rewards.Add(reward); } } }
void OnEnable() { Quest_ID = QuestCollectionCounter.AssignQuestID(); QuestType = new QuestType[] { global::QuestType.CollectionGoal, global::QuestType.CollectionGoal }; QuestGiver_ID = "Ed-0"; QuestName = "Fix The Fence"; QuestDescription = "Ed was the one who called you here urgently. " + "He knows a computer programmer sure oughtta be able to fix a fence." + "Gather the wood and hammer and get it over with so you can get off this island." + "Ed said his brother, Ip, usually 'borrows' his hammer. Ip will probably have some wood too."; QuestStartPoint = transform.parent; QuestTurnInPoint = transform.parent; //QuestReward = GameObject.Find("EdHammer");//can choose a weapon off of his weapon rack QuestReward = null; QuestStatus = false; QuestGoal.Add(new CollectionGoal(this, "Ed", "Ed", false, "Wood", 0, 2)); //wood QuestGoal.Add(new CollectionGoal(this, "Ed", "Ed", false, "EdHammer", 0, 1)); //hammer QuestGoal.ForEach(g => g.Init()); }
private void Init() { // item db check RecruitsQuiltedBoots = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_quilted_boots"); if (RecruitsQuiltedBoots == null) { RecruitsQuiltedBoots = new ItemTemplate(); RecruitsQuiltedBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsQuiltedBoots.Name + ", creating it ..."); } RecruitsQuiltedBoots.Level = 5; RecruitsQuiltedBoots.Weight = 8; RecruitsQuiltedBoots.Model = 143; RecruitsQuiltedBoots.Color = 28; RecruitsQuiltedBoots.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsQuiltedBoots.Id_nb = "k109_recruits_quilted_boots"; RecruitsQuiltedBoots.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsQuiltedBoots.IsPickable = true; RecruitsQuiltedBoots.IsDropable = true; // can't be sold to merchand RecruitsQuiltedBoots.DPS_AF = 6; RecruitsQuiltedBoots.SPD_ABS = 0; RecruitsQuiltedBoots.Bonus1 = 3; RecruitsQuiltedBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsQuiltedBoots.Bonus2 = 3; RecruitsQuiltedBoots.Bonus2Type = (int)eProperty.Acuity; RecruitsQuiltedBoots.Bonus3 = 1; RecruitsQuiltedBoots.Bonus3Type = (int)eProperty.Constitution; RecruitsQuiltedBoots.Bonus4 = 1; RecruitsQuiltedBoots.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsQuiltedBoots.Bonus5 = 1; RecruitsQuiltedBoots.Bonus5Type = (int)eProperty.AllMagicSkills; RecruitsQuiltedBoots.Quality = 100; RecruitsQuiltedBoots.Condition = 50000; RecruitsQuiltedBoots.MaxCondition = 50000; RecruitsQuiltedBoots.Durability = 50000; RecruitsQuiltedBoots.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedBoots); } RecruitsLeatherBoots = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_leather_boots"); if (RecruitsLeatherBoots == null) { RecruitsLeatherBoots = new ItemTemplate(); RecruitsLeatherBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text2"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsLeatherBoots.Name + ", creating it ..."); } RecruitsLeatherBoots.Level = 5; RecruitsLeatherBoots.Weight = 16; RecruitsLeatherBoots.Model = 133; RecruitsLeatherBoots.Color = 11; RecruitsLeatherBoots.Object_Type = (int)eObjectType.Leather; RecruitsLeatherBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsLeatherBoots.Id_nb = "k109_recruits_leather_boots"; RecruitsLeatherBoots.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsLeatherBoots.IsPickable = true; RecruitsLeatherBoots.IsDropable = true; // can't be sold to merchand RecruitsLeatherBoots.DPS_AF = 12; RecruitsLeatherBoots.SPD_ABS = 10; RecruitsLeatherBoots.Bonus1 = 3; RecruitsLeatherBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsLeatherBoots.Bonus2 = 3; RecruitsLeatherBoots.Bonus2Type = (int)eProperty.Strength; RecruitsLeatherBoots.Bonus3 = 1; RecruitsLeatherBoots.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsLeatherBoots.Bonus4 = 1; RecruitsLeatherBoots.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsLeatherBoots.Bonus5 = 1; RecruitsLeatherBoots.Bonus5Type = (int)eProperty.Quickness; RecruitsLeatherBoots.Bonus6 = 1; RecruitsLeatherBoots.Bonus6Type = (int)eProperty.Resist_Thrust; RecruitsLeatherBoots.Quality = 100; RecruitsLeatherBoots.Condition = 50000; RecruitsLeatherBoots.MaxCondition = 50000; RecruitsLeatherBoots.Durability = 50000; RecruitsLeatherBoots.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherBoots); } RecruitsStuddedBoots = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_studded_boots"); if (RecruitsStuddedBoots == null) { RecruitsStuddedBoots = new ItemTemplate(); RecruitsStuddedBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text3"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsStuddedBoots.Name + ", creating it ..."); } RecruitsStuddedBoots.Level = 5; RecruitsStuddedBoots.Weight = 24; RecruitsStuddedBoots.Model = 84; RecruitsStuddedBoots.Color = 11; RecruitsStuddedBoots.Object_Type = (int)eObjectType.Studded; RecruitsStuddedBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsStuddedBoots.Id_nb = "k109_recruits_studded_boots"; RecruitsStuddedBoots.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsStuddedBoots.IsPickable = true; RecruitsStuddedBoots.IsDropable = true; // can't be sold to merchand RecruitsStuddedBoots.DPS_AF = 12; RecruitsStuddedBoots.SPD_ABS = 19; RecruitsStuddedBoots.Bonus1 = 3; RecruitsStuddedBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsStuddedBoots.Bonus2 = 3; RecruitsStuddedBoots.Bonus2Type = (int)eProperty.Strength; RecruitsStuddedBoots.Bonus3 = 1; RecruitsStuddedBoots.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsStuddedBoots.Bonus4 = 1; RecruitsStuddedBoots.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsStuddedBoots.Bonus5 = 1; RecruitsStuddedBoots.Bonus5Type = (int)eProperty.Quickness; RecruitsStuddedBoots.Bonus6 = 1; RecruitsStuddedBoots.Bonus6Type = (int)eProperty.Resist_Thrust; RecruitsStuddedBoots.Quality = 100; RecruitsStuddedBoots.Condition = 50000; RecruitsStuddedBoots.MaxCondition = 50000; RecruitsStuddedBoots.Durability = 50000; RecruitsStuddedBoots.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedBoots); } Level = 2; QuestGiver = LadyGrynoch; Rewards.Experience = 90; Rewards.MoneyPercent = 50; Rewards.AddOptionalItem(RecruitsQuiltedBoots); Rewards.AddOptionalItem(RecruitsLeatherBoots); Rewards.AddOptionalItem(RecruitsStuddedBoots); Rewards.ChoiceOf = 1; FoundTomb = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.TombWithAView.Init.Text4"), QuestGoal.GoalType.ScoutMission, 1, null); }
private void Init() { #region defineItems // item db check RecruitsShortSword = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_short_sword"); if (RecruitsShortSword == null) { RecruitsShortSword = new ItemTemplate(); RecruitsShortSword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsShortSword.Name + ", creating it ..."); RecruitsShortSword.Level = 5; RecruitsShortSword.Weight = 18; RecruitsShortSword.Model = 3; RecruitsShortSword.Hand = 2; RecruitsShortSword.Object_Type = (int)eObjectType.SlashingWeapon; RecruitsShortSword.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsShortSword.Id_nb = "k109_recruits_short_sword"; RecruitsShortSword.Price = 0; RecruitsShortSword.IsPickable = true; RecruitsShortSword.IsDropable = false;// can't be sold to merchand RecruitsShortSword.DPS_AF = 24; RecruitsShortSword.SPD_ABS = 30; RecruitsShortSword.Bonus = 5; RecruitsShortSword.Bonus1 = 3; RecruitsShortSword.Bonus1Type = (int)eProperty.Strength; RecruitsShortSword.Bonus2 = 1; RecruitsShortSword.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsShortSword.Bonus3 = 1; RecruitsShortSword.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsShortSword.Bonus4 = 1; RecruitsShortSword.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsShortSword.Bonus5 = 1; RecruitsShortSword.Bonus5Type = (int)eProperty.Quickness; RecruitsShortSword.Quality = 100; RecruitsShortSword.Condition = 50000; RecruitsShortSword.MaxCondition = 50000; RecruitsShortSword.Durability = 50000; RecruitsShortSword.MaxDurability = 50000; RecruitsShortSword.Type_Damage = 2; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsShortSword); } RecruitsDirk = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_dirk"); if (RecruitsDirk == null) { RecruitsDirk = new ItemTemplate(); RecruitsDirk.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsDirk.Name + ", creating it ..."); RecruitsDirk.Level = 5; RecruitsDirk.Weight = 8; RecruitsDirk.Model = 21; RecruitsDirk.Hand = 2; RecruitsDirk.Object_Type = (int)eObjectType.ThrustWeapon; RecruitsDirk.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsDirk.Id_nb = "k109_recruits_dirk"; RecruitsDirk.Price = 0; RecruitsDirk.IsPickable = true; RecruitsDirk.IsDropable = false;// can't be sold to merchand RecruitsDirk.DPS_AF = 24; RecruitsDirk.SPD_ABS = 26; RecruitsDirk.Bonus = 5; RecruitsDirk.Bonus1 = 3; RecruitsDirk.Bonus1Type = (int)eProperty.Dexterity; RecruitsDirk.Bonus2 = 1; RecruitsDirk.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsDirk.Bonus3 = 1; RecruitsDirk.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsDirk.Bonus4 = 1; RecruitsDirk.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsDirk.Bonus5 = 1; RecruitsDirk.Bonus5Type = (int)eProperty.Quickness; RecruitsDirk.Quality = 100; RecruitsDirk.Condition = 50000; RecruitsDirk.MaxCondition = 50000; RecruitsDirk.Durability = 50000; RecruitsDirk.MaxDurability = 50000; RecruitsDirk.Type_Damage = 3; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsDirk); } RecruitsMace = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_mace"); if (RecruitsMace == null) { RecruitsMace = new ItemTemplate(); RecruitsMace.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsMace.Name + ", creating it ..."); RecruitsMace.Level = 5; RecruitsMace.Weight = 24; RecruitsMace.Model = 13; RecruitsMace.Hand = 2; RecruitsMace.Object_Type = (int)eObjectType.CrushingWeapon; RecruitsMace.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsMace.Id_nb = "k109_recruits_mace"; RecruitsMace.Price = 0; RecruitsMace.IsPickable = true; RecruitsMace.IsDropable = false;// can't be sold to merchand RecruitsMace.DPS_AF = 24; RecruitsMace.SPD_ABS = 30; RecruitsMace.Bonus = 5; RecruitsMace.Bonus1 = 3; RecruitsMace.Bonus1Type = (int)eProperty.Acuity; RecruitsMace.Bonus2 = 1; RecruitsMace.Bonus2Type = (int)eProperty.AllMagicSkills; RecruitsMace.Bonus3 = 1; RecruitsMace.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsMace.Bonus4 = 1; RecruitsMace.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsMace.Bonus5 = 1; RecruitsMace.Bonus5Type = (int)eProperty.Dexterity; RecruitsMace.Quality = 100; RecruitsMace.Condition = 50000; RecruitsMace.MaxCondition = 50000; RecruitsMace.Durability = 50000; RecruitsMace.MaxDurability = 50000; RecruitsMace.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsMace); } RecruitsStaff = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_staff"); if (RecruitsStaff == null) { RecruitsStaff = new ItemTemplate(); RecruitsStaff.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text4"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsStaff.Name + ", creating it ..."); RecruitsStaff.Level = 5; RecruitsStaff.Weight = 24; RecruitsStaff.Model = 19; RecruitsStaff.Hand = 1; RecruitsStaff.Object_Type = (int)eObjectType.Staff; RecruitsStaff.Item_Type = (int)eEquipmentItems.TWO_HANDED; RecruitsStaff.Id_nb = "k109_recruits_staff"; RecruitsStaff.Price = 0; RecruitsStaff.IsPickable = true; RecruitsStaff.IsDropable = false;// can't be sold to merchand RecruitsStaff.DPS_AF = 24; RecruitsStaff.SPD_ABS = 37; RecruitsStaff.Bonus = 5; RecruitsStaff.Bonus1 = 3; RecruitsStaff.Bonus1Type = (int)eProperty.Acuity; RecruitsStaff.Bonus2 = 1; RecruitsStaff.Bonus2Type = (int)eProperty.Constitution; RecruitsStaff.Bonus3 = 1; RecruitsStaff.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsStaff.Bonus4 = 1; RecruitsStaff.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsStaff.Bonus5 = 1; RecruitsStaff.Bonus5Type = (int)eProperty.Dexterity; RecruitsStaff.Bonus6 = 10; RecruitsStaff.Bonus6Type = (int)eProperty.AllFocusLevels; //Focus Spell Line? RecruitsStaff.Quality = 100; RecruitsStaff.Condition = 50000; RecruitsStaff.MaxCondition = 50000; RecruitsStaff.Durability = 50000; RecruitsStaff.MaxDurability = 50000; RecruitsStaff.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsStaff); } #endregion ItemTemplate rhedasword = new ItemTemplate(); rhedasword.Weight = 0; rhedasword.Condition = 50000; rhedasword.MaxCondition = 50000; rhedasword.Model = 3; rhedasword.Extension = 1; rhedasword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text5"); Level = 2; QuestGiver = Rheda; Rewards.Experience = 90; Rewards.MoneyPercent = 100; Rewards.AddOptionalItem(RecruitsShortSword); Rewards.AddOptionalItem(RecruitsDirk); Rewards.AddOptionalItem(RecruitsMace); Rewards.AddOptionalItem(RecruitsStaff); Rewards.ChoiceOf = 1; BanditRecruitsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.RecruitingNothingButTrouble.Init.Text6"), QuestGoal.GoalType.KillTask, 1, rhedasword); }
private void Init() { #region defineItems RecruitsIntelligentBelt = GameServer.Database.FindObjectByKey<ItemTemplate>("RecruitsIntelligentBelt"); if(RecruitsIntelligentBelt == null) { RecruitsIntelligentBelt = new ItemTemplate(); RecruitsIntelligentBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ToReachTheBreach.Init.Text1"); RecruitsIntelligentBelt.Id_nb = "RecruitsIntelligentBelt"; RecruitsIntelligentBelt.Level = 4; RecruitsIntelligentBelt.Weight = 3; RecruitsIntelligentBelt.Model = 597; RecruitsIntelligentBelt.Color = 0; RecruitsIntelligentBelt.Object_Type = (int)eObjectType.Magical; RecruitsIntelligentBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsIntelligentBelt.Price = Money.GetMoney(0,0,0,0,10); RecruitsIntelligentBelt.Quality = 100; RecruitsIntelligentBelt.Condition = 50000; RecruitsIntelligentBelt.MaxCondition = 50000; RecruitsIntelligentBelt.Durability = 50000; RecruitsIntelligentBelt.MaxDurability = 50000; RecruitsIntelligentBelt.Bonus1 = 3; RecruitsIntelligentBelt.Bonus1Type = (int)eProperty.Acuity ; RecruitsIntelligentBelt.Bonus2 = 3; RecruitsIntelligentBelt.Bonus2Type = (int)eProperty.Dexterity; RecruitsIntelligentBelt.Bonus3 = 1; RecruitsIntelligentBelt.Bonus3Type = (int)eProperty.Constitution; RecruitsIntelligentBelt.Bonus4 = 8; RecruitsIntelligentBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsIntelligentBelt.IsDropable = false; GameServer.Database.AddObject(RecruitsIntelligentBelt); } RecruitsMightyBelt = GameServer.Database.FindObjectByKey<ItemTemplate>("RecruitsMightyBelt"); if(RecruitsMightyBelt == null) { RecruitsMightyBelt = new ItemTemplate(); RecruitsMightyBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ToReachTheBreach.Init.Text2"); RecruitsMightyBelt.Id_nb = "RecruitsMightyBelt"; RecruitsMightyBelt.Level = 4; RecruitsMightyBelt.Weight = 3; RecruitsMightyBelt.Model = 597; RecruitsMightyBelt.Color = 0; RecruitsMightyBelt.Object_Type = (int)eObjectType.Magical; RecruitsMightyBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsMightyBelt.Price = Money.GetMoney(0,0,0,0,10); RecruitsMightyBelt.Quality = 100; RecruitsMightyBelt.Condition = 50000; RecruitsMightyBelt.MaxCondition = 50000; RecruitsMightyBelt.Durability = 50000; RecruitsMightyBelt.MaxDurability = 50000; RecruitsMightyBelt.Bonus1 = 3; RecruitsMightyBelt.Bonus1Type = (int)eProperty.Strength; RecruitsMightyBelt.Bonus2 = 3; RecruitsMightyBelt.Bonus2Type = (int)eProperty.Dexterity; RecruitsMightyBelt.Bonus3 = 1; RecruitsMightyBelt.Bonus3Type = (int)eProperty.Quickness; RecruitsMightyBelt.Bonus4 = 8; RecruitsMightyBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsMightyBelt.IsDropable = false; GameServer.Database.AddObject(RecruitsMightyBelt); } RecruitsPiousBelt = GameServer.Database.FindObjectByKey<ItemTemplate>("RecruitsPiousBelt"); if(RecruitsPiousBelt == null) { RecruitsPiousBelt = new ItemTemplate(); RecruitsPiousBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ToReachTheBreach.Init.Text3"); RecruitsPiousBelt.Id_nb = "RecruitsPiousBelt"; RecruitsPiousBelt.Level = 4; RecruitsPiousBelt.Weight = 3; RecruitsPiousBelt.Model = 597; RecruitsPiousBelt.Color = 0; RecruitsPiousBelt.Object_Type = (int)eObjectType.Magical; RecruitsPiousBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsPiousBelt.Price = Money.GetMoney(0,0,0,0,10); RecruitsPiousBelt.Quality = 100; RecruitsPiousBelt.Condition = 50000; RecruitsPiousBelt.MaxCondition = 50000; RecruitsPiousBelt.Durability = 50000; RecruitsPiousBelt.MaxDurability = 50000; RecruitsPiousBelt.Bonus1 = 3; RecruitsPiousBelt.Bonus1Type = (int)eProperty.Acuity; RecruitsPiousBelt.Bonus2 = 1; RecruitsPiousBelt.Bonus2Type = (int)eProperty.AllMagicSkills; RecruitsPiousBelt.Bonus3 = 3; RecruitsPiousBelt.Bonus3Type = (int)eProperty.Dexterity; RecruitsPiousBelt.Bonus4 = 8; RecruitsPiousBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsPiousBelt.IsDropable = false; GameServer.Database.AddObject(RecruitsPiousBelt); } #endregion Level = 3; QuestGiver = LadyGrynoch; Rewards.Experience = 90; Rewards.MoneyPercent = 100; Rewards.AddOptionalItem(RecruitsIntelligentBelt); Rewards.AddOptionalItem(RecruitsMightyBelt); Rewards.AddOptionalItem(RecruitsPiousBelt); Rewards.ChoiceOf = 1; FoundBreach = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.ToReachTheBreach.Init.Text4"), QuestGoal.GoalType.ScoutMission, 1, null); }
/// <summary> /// Add a goal for this quest. /// </summary> /// <param name="description"></param> /// <param name="type"></param> /// <param name="targetNumber"></param> /// <param name="questItem"></param> protected QuestGoal AddGoal(string description, QuestGoal.GoalType type, int targetNumber, ItemTemplate questItem) { QuestGoal goal = new QuestGoal("none", this, description, type, m_goals.Count + 1, targetNumber, questItem); m_goals.Add(goal); return goal; }
private void Init() { #region defineItems // item db check RecruitsShortSword = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_short_sword_hib"); if (RecruitsShortSword == null) { RecruitsShortSword = new ItemTemplate(); RecruitsShortSword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsShortSword.Name + ", creating it ..."); } RecruitsShortSword.Level = 5; RecruitsShortSword.Weight = 18; RecruitsShortSword.Model = 3; RecruitsShortSword.Hand = 2; RecruitsShortSword.Object_Type = (int)eObjectType.Blades; RecruitsShortSword.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsShortSword.Id_nb = "recruits_short_sword_hib"; RecruitsShortSword.Price = 0; RecruitsShortSword.IsPickable = true; RecruitsShortSword.IsDropable = false; // can't be sold to merchand RecruitsShortSword.DPS_AF = 24; RecruitsShortSword.SPD_ABS = 30; RecruitsShortSword.Bonus = 1; RecruitsShortSword.Bonus1 = 3; RecruitsShortSword.Bonus1Type = (int)eProperty.Strength; RecruitsShortSword.Bonus2 = 1; RecruitsShortSword.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsShortSword.Bonus3 = 1; RecruitsShortSword.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsShortSword.Bonus4 = 1; RecruitsShortSword.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsShortSword.Bonus5 = 1; RecruitsShortSword.Bonus5Type = (int)eProperty.Quickness; RecruitsShortSword.Quality = 100; RecruitsShortSword.Condition = 50000; RecruitsShortSword.MaxCondition = 50000; RecruitsShortSword.Durability = 50000; RecruitsShortSword.MaxDurability = 50000; RecruitsShortSword.Type_Damage = 2; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(RecruitsShortSword); } } RecruitsDirk = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_dirk"); if (RecruitsDirk == null) { RecruitsDirk = new ItemTemplate(); RecruitsDirk.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text2"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsDirk.Name + ", creating it ..."); } RecruitsDirk.Level = 5; RecruitsDirk.Weight = 8; RecruitsDirk.Model = 21; RecruitsDirk.Hand = 2; RecruitsDirk.Object_Type = (int)eObjectType.ThrustWeapon; RecruitsDirk.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsDirk.Id_nb = "recruits_dirk"; RecruitsDirk.Price = 0; RecruitsDirk.IsPickable = true; RecruitsDirk.IsDropable = false; // can't be sold to merchand RecruitsDirk.DPS_AF = 24; RecruitsDirk.SPD_ABS = 26; RecruitsDirk.Bonus = 1; RecruitsDirk.Bonus1 = 3; RecruitsDirk.Bonus1Type = (int)eProperty.Dexterity; RecruitsDirk.Bonus2 = 1; RecruitsDirk.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsDirk.Bonus3 = 1; RecruitsDirk.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsDirk.Bonus4 = 1; RecruitsDirk.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsDirk.Bonus5 = 1; RecruitsDirk.Bonus5Type = (int)eProperty.Strength; RecruitsDirk.Quality = 100; RecruitsDirk.Condition = 50000; RecruitsDirk.MaxCondition = 50000; RecruitsDirk.Durability = 50000; RecruitsDirk.MaxDurability = 50000; RecruitsDirk.Type_Damage = 3; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(RecruitsDirk); } } RecruitsClub = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_club"); if (RecruitsClub == null) { RecruitsClub = new ItemTemplate(); RecruitsClub.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text3"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsClub.Name + ", creating it ..."); } RecruitsClub.Level = 5; RecruitsClub.Weight = 24; RecruitsClub.Model = 14; //11 RecruitsClub.Hand = 2; RecruitsClub.Object_Type = (int)eObjectType.Blunt; RecruitsClub.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsClub.Id_nb = "recruits_club"; RecruitsClub.Price = 0; RecruitsClub.IsPickable = true; RecruitsClub.IsDropable = false; // can't be sold to merchand RecruitsClub.DPS_AF = 24; RecruitsClub.SPD_ABS = 30; RecruitsClub.Bonus = 1; RecruitsClub.Bonus1 = 3; RecruitsClub.Bonus1Type = (int)eProperty.Acuity; RecruitsClub.Bonus2 = 1; RecruitsClub.Bonus2Type = (int)eProperty.AllMagicSkills; RecruitsClub.Bonus3 = 1; RecruitsClub.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsClub.Bonus4 = 1; RecruitsClub.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsClub.Bonus5 = 1; RecruitsClub.Bonus5Type = (int)eProperty.Constitution; RecruitsClub.Quality = 100; RecruitsClub.Condition = 50000; RecruitsClub.MaxCondition = 50000; RecruitsClub.Durability = 50000; RecruitsClub.MaxDurability = 50000; RecruitsClub.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(RecruitsClub); } } RecruitsStaff = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_staff"); if (RecruitsStaff == null) { RecruitsStaff = new ItemTemplate(); RecruitsStaff.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text4"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsStaff.Name + ", creating it ..."); } RecruitsStaff.Level = 5; RecruitsStaff.Weight = 24; RecruitsStaff.Model = 19; RecruitsStaff.Hand = 1; RecruitsStaff.Object_Type = (int)eObjectType.Staff; RecruitsStaff.Item_Type = (int)eEquipmentItems.TWO_HANDED; RecruitsStaff.Id_nb = "recruits_staff"; RecruitsStaff.Price = 0; RecruitsStaff.IsPickable = true; RecruitsStaff.IsDropable = false; // can't be sold to merchand RecruitsStaff.DPS_AF = 24; RecruitsStaff.SPD_ABS = 37; RecruitsStaff.Bonus = 1; RecruitsStaff.Bonus1 = 3; RecruitsStaff.Bonus1Type = (int)eProperty.Acuity; RecruitsStaff.Bonus2 = 1; RecruitsStaff.Bonus2Type = (int)eProperty.Dexterity; RecruitsStaff.Bonus3 = 1; RecruitsStaff.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsStaff.Bonus4 = 1; RecruitsStaff.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsStaff.Bonus5 = 1; RecruitsStaff.Bonus5Type = (int)eProperty.AllMagicSkills; RecruitsStaff.Quality = 100; RecruitsStaff.Condition = 50000; RecruitsStaff.MaxCondition = 50000; RecruitsStaff.Durability = 50000; RecruitsStaff.MaxDurability = 50000; RecruitsStaff.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(RecruitsStaff); } } #endregion ItemTemplate nipperwing = new ItemTemplate(); nipperwing.Weight = 0; nipperwing.Condition = 50000; nipperwing.MaxCondition = 50000; nipperwing.Model = 551; nipperwing.Extension = 1; nipperwing.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text5"); Level = 2; QuestGiver = Josson; Rewards.Experience = 90; Rewards.MoneyPercent = 20; Rewards.AddOptionalItem(RecruitsShortSword); Rewards.AddOptionalItem(RecruitsDirk); Rewards.AddOptionalItem(RecruitsClub); Rewards.AddOptionalItem(RecruitsStaff); Rewards.ChoiceOf = 1; OrchardNipperKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Hib.MagicalBacklash.Init.Text6"), QuestGoal.GoalType.KillTask, 1, nipperwing); }
private void Init() { #region defineItems // item db check RecruitsQuiltedVest = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_quilted_vest"); if (RecruitsQuiltedVest == null) { RecruitsQuiltedVest = new ItemTemplate(); RecruitsQuiltedVest.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsQuiltedVest.Name + ", creating it ..."); RecruitsQuiltedVest.Level = 5; RecruitsQuiltedVest.Weight = 20; RecruitsQuiltedVest.Model = 139; RecruitsQuiltedVest.Color = 28; RecruitsQuiltedVest.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedVest.Item_Type = (int)eEquipmentItems.TORSO; RecruitsQuiltedVest.Id_nb = "k109_recruits_quilted_vest"; RecruitsQuiltedVest.Price = Money.GetMoney(0,0,0,0,40); RecruitsQuiltedVest.IsPickable = true; RecruitsQuiltedVest.IsDropable = true; // can't be sold to merchand RecruitsQuiltedVest.DPS_AF = 6; RecruitsQuiltedVest.SPD_ABS = 0; RecruitsQuiltedVest.Bonus1 = 3; RecruitsQuiltedVest.Bonus1Type = (int)eProperty.Dexterity; RecruitsQuiltedVest.Bonus2 = 4; RecruitsQuiltedVest.Bonus2Type = (int)eProperty.Acuity; RecruitsQuiltedVest.Bonus3 = 1; RecruitsQuiltedVest.Bonus3Type = (int)eProperty.Resist_Spirit; RecruitsQuiltedVest.Bonus4 = 1; RecruitsQuiltedVest.Bonus4Type = (int)eProperty.Resist_Matter; RecruitsQuiltedVest.Quality = 100; RecruitsQuiltedVest.Condition = 50000; RecruitsQuiltedVest.MaxCondition = 50000; RecruitsQuiltedVest.Durability = 50000; RecruitsQuiltedVest.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedVest); } RecruitsLeatherJerkin = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_leather_jerkin"); if (RecruitsLeatherJerkin == null) { RecruitsLeatherJerkin = new ItemTemplate(); RecruitsLeatherJerkin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsLeatherJerkin.Name + ", creating it ..."); RecruitsLeatherJerkin.Level = 5; RecruitsLeatherJerkin.Weight = 40; RecruitsLeatherJerkin.Model = 31; RecruitsLeatherJerkin.Color = 11; RecruitsLeatherJerkin.Object_Type = (int)eObjectType.Leather; RecruitsLeatherJerkin.Item_Type = (int)eEquipmentItems.TORSO; RecruitsLeatherJerkin.Id_nb = "k109_recruits_leather_jerkin"; RecruitsLeatherJerkin.Price = Money.GetMoney(0,0,0,0,40); RecruitsLeatherJerkin.IsPickable = true; RecruitsLeatherJerkin.IsDropable = true; // can't be sold to merchand RecruitsLeatherJerkin.DPS_AF = 12; RecruitsLeatherJerkin.SPD_ABS = 10; RecruitsLeatherJerkin.Bonus1 = 4; RecruitsLeatherJerkin.Bonus1Type = (int)eProperty.Dexterity; RecruitsLeatherJerkin.Bonus2 = 3; RecruitsLeatherJerkin.Bonus2Type = (int)eProperty.Strength; RecruitsLeatherJerkin.Bonus3 = 1; RecruitsLeatherJerkin.Bonus3Type = (int)eProperty.Constitution; RecruitsLeatherJerkin.Bonus4 = 1; RecruitsLeatherJerkin.Bonus4Type = (int)eProperty.Resist_Spirit; RecruitsLeatherJerkin.Quality = 100; RecruitsLeatherJerkin.Condition = 50000; RecruitsLeatherJerkin.MaxCondition = 50000; RecruitsLeatherJerkin.Durability = 50000; RecruitsLeatherJerkin.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherJerkin); } RecruitsStuddedVest = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_studded_vest"); if (RecruitsStuddedVest == null) { RecruitsStuddedVest = new ItemTemplate(); RecruitsStuddedVest.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsStuddedVest.Name + ", creating it ..."); RecruitsStuddedVest.Level = 5; RecruitsStuddedVest.Weight = 60; RecruitsStuddedVest.Model = 81; RecruitsStuddedVest.Color = 11; RecruitsStuddedVest.Object_Type = (int)eObjectType.Studded; RecruitsStuddedVest.Item_Type = (int)eEquipmentItems.TORSO; RecruitsStuddedVest.Id_nb = "k109_recruits_studded_vest"; RecruitsStuddedVest.Price = Money.GetMoney(0,0,0,0,40); RecruitsStuddedVest.IsPickable = true; RecruitsStuddedVest.IsDropable = true; // can't be sold to merchand RecruitsStuddedVest.DPS_AF = 12; RecruitsStuddedVest.SPD_ABS = 19; RecruitsStuddedVest.Bonus1 = 1; RecruitsStuddedVest.Bonus1Type = (int)eProperty.Dexterity; RecruitsStuddedVest.Bonus2 = 4; RecruitsStuddedVest.Bonus2Type = (int)eProperty.Strength; RecruitsStuddedVest.Bonus3 = 3; RecruitsStuddedVest.Bonus3Type = (int)eProperty.Constitution; RecruitsStuddedVest.Bonus4 = 1; RecruitsStuddedVest.Bonus4Type = (int)eProperty.Resist_Spirit; RecruitsStuddedVest.Quality = 100; RecruitsStuddedVest.Condition = 50000; RecruitsStuddedVest.MaxCondition = 50000; RecruitsStuddedVest.Durability = 50000; RecruitsStuddedVest.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedVest); } #endregion //Skeleton Skull ItemTemplate skeletonskull = new ItemTemplate(); skeletonskull.Weight = 0; skeletonskull.Condition = 50000; skeletonskull.MaxCondition = 50000; skeletonskull.Model = 540; skeletonskull.Extension = 1; skeletonskull.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text4"); ItemTemplate zombieskin = new ItemTemplate(); zombieskin.Weight = 0; zombieskin.Condition = 50000; zombieskin.MaxCondition = 50000; zombieskin.Model = 540; zombieskin.Extension = 1; zombieskin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text5"); QuestGiver = CemmethBudgwold; Rewards.Experience = 625; Rewards.MoneyPercent = 100; Rewards.AddOptionalItem(RecruitsQuiltedVest); Rewards.AddOptionalItem(RecruitsLeatherJerkin); Rewards.AddOptionalItem(RecruitsStuddedVest); Rewards.ChoiceOf = 1; SkeletonsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.CemmethsOrders.Init.Text6"), QuestGoal.GoalType.KillTask, 1, skeletonskull); DecayingGhoulsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.CemmethsOrders.Init.Text7"), QuestGoal.GoalType.KillTask, 1, zombieskin); }
private void Init() { #region defineItems // item db check RecruitsQuiltedBoots = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_quilted_boots"); if (RecruitsQuiltedBoots == null) { RecruitsQuiltedBoots = new ItemTemplate(); RecruitsQuiltedBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsQuiltedBoots.Name + ", creating it ..."); RecruitsQuiltedBoots.Level = 5; RecruitsQuiltedBoots.Weight = 8; RecruitsQuiltedBoots.Model = 143; RecruitsQuiltedBoots.Color = 28; RecruitsQuiltedBoots.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsQuiltedBoots.Id_nb = "k109_recruits_quilted_boots"; RecruitsQuiltedBoots.Price = Money.GetMoney(0,0,0,0,40); RecruitsQuiltedBoots.IsPickable = true; RecruitsQuiltedBoots.IsDropable = true; // can't be sold to merchand RecruitsQuiltedBoots.DPS_AF = 6; RecruitsQuiltedBoots.SPD_ABS = 0; RecruitsQuiltedBoots.Bonus1 = 3; RecruitsQuiltedBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsQuiltedBoots.Bonus2 = 3; RecruitsQuiltedBoots.Bonus2Type = (int)eProperty.Acuity; RecruitsQuiltedBoots.Bonus3 = 1; RecruitsQuiltedBoots.Bonus3Type = (int)eProperty.Constitution; RecruitsQuiltedBoots.Bonus4 = 1; RecruitsQuiltedBoots.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsQuiltedBoots.Bonus5 = 1; RecruitsQuiltedBoots.Bonus5Type = (int)eProperty.AllMagicSkills; RecruitsQuiltedBoots.Quality = 100; RecruitsQuiltedBoots.Condition = 50000; RecruitsQuiltedBoots.MaxCondition = 50000; RecruitsQuiltedBoots.Durability = 50000; RecruitsQuiltedBoots.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedBoots); } RecruitsLeatherBoots = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_leather_boots"); if (RecruitsLeatherBoots == null) { RecruitsLeatherBoots = new ItemTemplate(); RecruitsLeatherBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsLeatherBoots.Name + ", creating it ..."); RecruitsLeatherBoots.Level = 5; RecruitsLeatherBoots.Weight = 16; RecruitsLeatherBoots.Model = 133; RecruitsLeatherBoots.Color = 11; RecruitsLeatherBoots.Object_Type = (int)eObjectType.Leather; RecruitsLeatherBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsLeatherBoots.Id_nb = "k109_recruits_leather_boots"; RecruitsLeatherBoots.Price = Money.GetMoney(0,0,0,0,40); RecruitsLeatherBoots.IsPickable = true; RecruitsLeatherBoots.IsDropable = true; // can't be sold to merchand RecruitsLeatherBoots.DPS_AF = 12; RecruitsLeatherBoots.SPD_ABS = 10; RecruitsLeatherBoots.Bonus1 = 3; RecruitsLeatherBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsLeatherBoots.Bonus2 = 3; RecruitsLeatherBoots.Bonus2Type = (int)eProperty.Strength; RecruitsLeatherBoots.Bonus3 = 1; RecruitsLeatherBoots.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsLeatherBoots.Bonus4 = 1; RecruitsLeatherBoots.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsLeatherBoots.Bonus5 = 1; RecruitsLeatherBoots.Bonus5Type = (int)eProperty.Quickness; RecruitsLeatherBoots.Bonus6 = 1; RecruitsLeatherBoots.Bonus6Type = (int)eProperty.Resist_Thrust; RecruitsLeatherBoots.Quality = 100; RecruitsLeatherBoots.Condition = 50000; RecruitsLeatherBoots.MaxCondition = 50000; RecruitsLeatherBoots.Durability = 50000; RecruitsLeatherBoots.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherBoots); } RecruitsStuddedBoots = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_studded_boots"); if (RecruitsStuddedBoots == null) { RecruitsStuddedBoots = new ItemTemplate(); RecruitsStuddedBoots.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.TombWithAView.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsStuddedBoots.Name + ", creating it ..."); RecruitsStuddedBoots.Level = 5; RecruitsStuddedBoots.Weight = 24; RecruitsStuddedBoots.Model = 84; RecruitsStuddedBoots.Color = 11; RecruitsStuddedBoots.Object_Type = (int)eObjectType.Studded; RecruitsStuddedBoots.Item_Type = (int)eEquipmentItems.FEET; RecruitsStuddedBoots.Id_nb = "k109_recruits_studded_boots"; RecruitsStuddedBoots.Price = Money.GetMoney(0,0,0,0,40); RecruitsStuddedBoots.IsPickable = true; RecruitsStuddedBoots.IsDropable = true; // can't be sold to merchand RecruitsStuddedBoots.DPS_AF = 12; RecruitsStuddedBoots.SPD_ABS = 19; RecruitsStuddedBoots.Bonus1 = 3; RecruitsStuddedBoots.Bonus1Type = (int)eProperty.Dexterity; RecruitsStuddedBoots.Bonus2 = 3; RecruitsStuddedBoots.Bonus2Type = (int)eProperty.Strength; RecruitsStuddedBoots.Bonus3 = 1; RecruitsStuddedBoots.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsStuddedBoots.Bonus4 = 1; RecruitsStuddedBoots.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsStuddedBoots.Bonus5 = 1; RecruitsStuddedBoots.Bonus5Type = (int)eProperty.Quickness; RecruitsStuddedBoots.Bonus6 = 1; RecruitsStuddedBoots.Bonus6Type = (int)eProperty.Resist_Thrust; RecruitsStuddedBoots.Quality = 100; RecruitsStuddedBoots.Condition = 50000; RecruitsStuddedBoots.MaxCondition = 50000; RecruitsStuddedBoots.Durability = 50000; RecruitsStuddedBoots.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedBoots); } #endregion Level = 2; QuestGiver = LadyGrynoch; Rewards.Experience = 90; Rewards.MoneyPercent = 50; Rewards.AddOptionalItem(RecruitsQuiltedBoots); Rewards.AddOptionalItem(RecruitsLeatherBoots); Rewards.AddOptionalItem(RecruitsStuddedBoots); Rewards.ChoiceOf = 1; FoundTomb = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.TombWithAView.Init.Text4"), QuestGoal.GoalType.ScoutMission, 1, null); }
private void Init() { ItemTemplate intelligentBracer = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_intelligent_bracer"); if (intelligentBracer == null) { intelligentBracer = CreateBracer(); intelligentBracer.Id_nb = "recruits_intelligent_bracer"; intelligentBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text1"); intelligentBracer.Bonus1 = 4; intelligentBracer.Bonus1Type = (int)eProperty.Acuity; intelligentBracer.Bonus2 = 3; intelligentBracer.Bonus2Type = (int)eProperty.Constitution; intelligentBracer.Bonus3 = 2; intelligentBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(intelligentBracer); } ItemTemplate mightyBracer = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_mighty_bracer"); if (mightyBracer == null) { mightyBracer = CreateBracer(); mightyBracer.Id_nb = "recruits_mighty_bracer"; mightyBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text2"); mightyBracer.Bonus1 = 4; mightyBracer.Bonus1Type = (int)eProperty.Strength; mightyBracer.Bonus2 = 4; mightyBracer.Bonus2Type = (int)eProperty.Constitution; mightyBracer.Bonus3 = 2; mightyBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(mightyBracer); } ItemTemplate slyBracer = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_sly_bracer"); if (slyBracer == null) { slyBracer = CreateBracer(); slyBracer.Id_nb = "recruits_sly_bracer"; slyBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text3"); slyBracer.Bonus1 = 4; slyBracer.Bonus1Type = (int)eProperty.Dexterity; slyBracer.Bonus2 = 4; slyBracer.Bonus2Type = (int)eProperty.Quickness; slyBracer.Bonus3 = 2; slyBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(slyBracer); } ItemTemplate piousBracer = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_pious_bracer"); if (piousBracer == null) { piousBracer = CreateBracer(); piousBracer.Id_nb = "recruits_pious_bracer"; piousBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text4"); piousBracer.Bonus1 = 4; piousBracer.Bonus1Type = (int)eProperty.Acuity; piousBracer.Bonus2 = 3; piousBracer.Bonus2Type = (int)eProperty.Dexterity; piousBracer.Bonus3 = 2; piousBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(piousBracer); } ItemTemplate banditCloak = GameServer.Database.FindObjectByKey <ItemTemplate>("quest_bandit_cloak"); if (banditCloak == null) { banditCloak = new ItemTemplate(); banditCloak.Id_nb = "quest_bandit_cloak"; banditCloak.Weight = 0; banditCloak.Condition = 50000; banditCloak.MaxCondition = 50000; banditCloak.Model = 669; banditCloak.Extension = 1; banditCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text5"); GameServer.Database.AddObject(banditCloak); } Level = 1; QuestGiver = sirDorian; Rewards.Experience = 22; Rewards.MoneyPercent = 20; Rewards.AddOptionalItem(intelligentBracer); Rewards.AddOptionalItem(mightyBracer); Rewards.AddOptionalItem(slyBracer); Rewards.AddOptionalItem(piousBracer); Rewards.ChoiceOf = 1; banditHopefulGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text6"), QuestGoal.GoalType.KillTask, 2, banditCloak); }
private void Init() { #region defineItems // Recruit's Necklace of Might RecruitsNecklaceofMight = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_necklace_of_might"); if (RecruitsNecklaceofMight == null) { RecruitsNecklaceofMight = new ItemTemplate(); RecruitsNecklaceofMight.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsNecklaceofMight.Name + ", creating it ..."); RecruitsNecklaceofMight.Level = 3; RecruitsNecklaceofMight.Weight = 3; RecruitsNecklaceofMight.Model = 101; RecruitsNecklaceofMight.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofMight.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofMight.Id_nb = "recruits_necklace_of_might"; RecruitsNecklaceofMight.Price = Money.GetMoney(0,0,0,2,40); RecruitsNecklaceofMight.IsPickable = false; RecruitsNecklaceofMight.IsDropable = true; // can be sold to merchand RecruitsNecklaceofMight.Bonus1 = 4; RecruitsNecklaceofMight.Bonus1Type = (int)eProperty.Strength; RecruitsNecklaceofMight.Bonus2 = 4; RecruitsNecklaceofMight.Bonus2Type = (int)eProperty.Quickness; RecruitsNecklaceofMight.Bonus3 = 1; RecruitsNecklaceofMight.Bonus3Type = (int)eProperty.Resist_Body; RecruitsNecklaceofMight.Quality = 100; RecruitsNecklaceofMight.MaxCondition = 50000; RecruitsNecklaceofMight.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofMight); } //Recruit's Necklace of Insight RecruitsNecklaceofInsight = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_necklace_of_insight"); if (RecruitsNecklaceofInsight == null) { RecruitsNecklaceofInsight = new ItemTemplate(); RecruitsNecklaceofInsight.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsNecklaceofInsight.Name + ", creating it ..."); RecruitsNecklaceofInsight.Level = 3; RecruitsNecklaceofInsight.Weight = 3; RecruitsNecklaceofInsight.Model = 101; RecruitsNecklaceofInsight.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofInsight.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofInsight.Id_nb = "recruits_necklace_of_insight"; RecruitsNecklaceofInsight.Price = Money.GetMoney(0,0,0,2,40); RecruitsNecklaceofInsight.IsPickable = false; RecruitsNecklaceofInsight.IsDropable = true; // can be sold to merchand RecruitsNecklaceofInsight.Bonus1 = 4; RecruitsNecklaceofInsight.Bonus1Type = (int)eProperty.Acuity; RecruitsNecklaceofInsight.Bonus2 = 4; RecruitsNecklaceofInsight.Bonus2Type = (int)eProperty.Dexterity; RecruitsNecklaceofInsight.Bonus3 = 3; RecruitsNecklaceofInsight.Bonus3Type = (int)eProperty.MaxHealth; RecruitsNecklaceofInsight.Quality = 100; RecruitsNecklaceofInsight.Condition = 50000; RecruitsNecklaceofInsight.MaxCondition = 50000; RecruitsNecklaceofInsight.Durability = 50000; RecruitsNecklaceofInsight.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofInsight); } //Recruit's Necklace of Faith RecruitsNecklaceofFaith = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_necklace_of_faith"); if (RecruitsNecklaceofFaith == null) { RecruitsNecklaceofFaith = new ItemTemplate(); RecruitsNecklaceofFaith.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsNecklaceofFaith.Name + ", creating it ..."); RecruitsNecklaceofFaith.Level = 3; RecruitsNecklaceofFaith.Weight = 3; RecruitsNecklaceofFaith.Model = 101; RecruitsNecklaceofFaith.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofFaith.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofFaith.Id_nb = "recruits_necklace_of_faith"; RecruitsNecklaceofFaith.Price = Money.GetMoney(0,0,0,2,40); RecruitsNecklaceofFaith.IsPickable = false; RecruitsNecklaceofFaith.IsDropable = true; // can be sold to merchand RecruitsNecklaceofFaith.Bonus1 = 4; RecruitsNecklaceofFaith.Bonus1Type = (int)eProperty.Acuity; RecruitsNecklaceofFaith.Bonus2 = 1; RecruitsNecklaceofFaith.Bonus2Type = (int)eProperty.Resist_Body; RecruitsNecklaceofFaith.Bonus3 = 1; RecruitsNecklaceofFaith.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsNecklaceofFaith.Quality = 100; RecruitsNecklaceofFaith.Condition = 50000; RecruitsNecklaceofFaith.MaxCondition = 50000; RecruitsNecklaceofFaith.Durability = 50000; RecruitsNecklaceofFaith.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofFaith); } PunySkeletonSkull = GameServer.Database.FindObjectByKey<ItemTemplate>("puny_skeleton_skull"); if (PunySkeletonSkull == null) { PunySkeletonSkull = new ItemTemplate(); PunySkeletonSkull.Id_nb = "puny_skeleton_skull"; PunySkeletonSkull.Weight = 1; PunySkeletonSkull.Condition = 50000; PunySkeletonSkull.MaxCondition = 50000; PunySkeletonSkull.Model = 540; PunySkeletonSkull.Extension = 1; PunySkeletonSkull.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text4"); GameServer.Database.AddObject(PunySkeletonSkull); } #endregion QuestGiver = SirPrescott; Rewards.Experience = 22; Rewards.MoneyPercent = 10; Rewards.AddOptionalItem(RecruitsNecklaceofMight); Rewards.AddOptionalItem(RecruitsNecklaceofInsight); Rewards.AddOptionalItem(RecruitsNecklaceofFaith); Rewards.ChoiceOf = 1; punySkeletonGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.AfterTheAccident.Init.Text5"), QuestGoal.GoalType.KillTask, 2, PunySkeletonSkull); }
private void Init() { // Recruit's Necklace of Might RecruitsNecklaceofMight = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_necklace_of_might"); if (RecruitsNecklaceofMight == null) { RecruitsNecklaceofMight = new ItemTemplate(); RecruitsNecklaceofMight.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsNecklaceofMight.Name + ", creating it ..."); } RecruitsNecklaceofMight.Level = 3; RecruitsNecklaceofMight.Weight = 3; RecruitsNecklaceofMight.Model = 101; RecruitsNecklaceofMight.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofMight.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofMight.Id_nb = "recruits_necklace_of_might"; RecruitsNecklaceofMight.Price = Money.GetMoney(0, 0, 0, 2, 40); RecruitsNecklaceofMight.IsPickable = false; RecruitsNecklaceofMight.IsDropable = true; // can be sold to merchand RecruitsNecklaceofMight.Bonus1 = 4; RecruitsNecklaceofMight.Bonus1Type = (int)eProperty.Strength; RecruitsNecklaceofMight.Bonus2 = 4; RecruitsNecklaceofMight.Bonus2Type = (int)eProperty.Quickness; RecruitsNecklaceofMight.Bonus3 = 1; RecruitsNecklaceofMight.Bonus3Type = (int)eProperty.Resist_Body; RecruitsNecklaceofMight.Quality = 100; RecruitsNecklaceofMight.MaxCondition = 50000; RecruitsNecklaceofMight.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofMight); } // Recruit's Necklace of Insight RecruitsNecklaceofInsight = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_necklace_of_insight"); if (RecruitsNecklaceofInsight == null) { RecruitsNecklaceofInsight = new ItemTemplate(); RecruitsNecklaceofInsight.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text2"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsNecklaceofInsight.Name + ", creating it ..."); } RecruitsNecklaceofInsight.Level = 3; RecruitsNecklaceofInsight.Weight = 3; RecruitsNecklaceofInsight.Model = 101; RecruitsNecklaceofInsight.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofInsight.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofInsight.Id_nb = "recruits_necklace_of_insight"; RecruitsNecklaceofInsight.Price = Money.GetMoney(0, 0, 0, 2, 40); RecruitsNecklaceofInsight.IsPickable = false; RecruitsNecklaceofInsight.IsDropable = true; // can be sold to merchand RecruitsNecklaceofInsight.Bonus1 = 4; RecruitsNecklaceofInsight.Bonus1Type = (int)eProperty.Acuity; RecruitsNecklaceofInsight.Bonus2 = 4; RecruitsNecklaceofInsight.Bonus2Type = (int)eProperty.Dexterity; RecruitsNecklaceofInsight.Bonus3 = 3; RecruitsNecklaceofInsight.Bonus3Type = (int)eProperty.MaxHealth; RecruitsNecklaceofInsight.Quality = 100; RecruitsNecklaceofInsight.Condition = 50000; RecruitsNecklaceofInsight.MaxCondition = 50000; RecruitsNecklaceofInsight.Durability = 50000; RecruitsNecklaceofInsight.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofInsight); } // Recruit's Necklace of Faith RecruitsNecklaceofFaith = GameServer.Database.FindObjectByKey <ItemTemplate>("recruits_necklace_of_faith"); if (RecruitsNecklaceofFaith == null) { RecruitsNecklaceofFaith = new ItemTemplate(); RecruitsNecklaceofFaith.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text3"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsNecklaceofFaith.Name + ", creating it ..."); } RecruitsNecklaceofFaith.Level = 3; RecruitsNecklaceofFaith.Weight = 3; RecruitsNecklaceofFaith.Model = 101; RecruitsNecklaceofFaith.Object_Type = (int)eObjectType.Magical; RecruitsNecklaceofFaith.Item_Type = (int)eEquipmentItems.NECK; RecruitsNecklaceofFaith.Id_nb = "recruits_necklace_of_faith"; RecruitsNecklaceofFaith.Price = Money.GetMoney(0, 0, 0, 2, 40); RecruitsNecklaceofFaith.IsPickable = false; RecruitsNecklaceofFaith.IsDropable = true; // can be sold to merchand RecruitsNecklaceofFaith.Bonus1 = 4; RecruitsNecklaceofFaith.Bonus1Type = (int)eProperty.Acuity; RecruitsNecklaceofFaith.Bonus2 = 1; RecruitsNecklaceofFaith.Bonus2Type = (int)eProperty.Resist_Body; RecruitsNecklaceofFaith.Bonus3 = 1; RecruitsNecklaceofFaith.Bonus3Type = (int)eProperty.AllMagicSkills; RecruitsNecklaceofFaith.Quality = 100; RecruitsNecklaceofFaith.Condition = 50000; RecruitsNecklaceofFaith.MaxCondition = 50000; RecruitsNecklaceofFaith.Durability = 50000; RecruitsNecklaceofFaith.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsNecklaceofFaith); } PunySkeletonSkull = GameServer.Database.FindObjectByKey <ItemTemplate>("puny_skeleton_skull"); if (PunySkeletonSkull == null) { PunySkeletonSkull = new ItemTemplate(); PunySkeletonSkull.Id_nb = "puny_skeleton_skull"; PunySkeletonSkull.Weight = 1; PunySkeletonSkull.Condition = 50000; PunySkeletonSkull.MaxCondition = 50000; PunySkeletonSkull.Model = 540; PunySkeletonSkull.Extension = 1; PunySkeletonSkull.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.AfterTheAccident.Init.Text4"); GameServer.Database.AddObject(PunySkeletonSkull); } QuestGiver = SirPrescott; Rewards.Experience = 22; Rewards.MoneyPercent = 10; Rewards.AddOptionalItem(RecruitsNecklaceofMight); Rewards.AddOptionalItem(RecruitsNecklaceofInsight); Rewards.AddOptionalItem(RecruitsNecklaceofFaith); Rewards.ChoiceOf = 1; punySkeletonGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.AfterTheAccident.Init.Text5"), QuestGoal.GoalType.KillTask, 2, PunySkeletonSkull); }
private void Init() { #region defineItems // item db check RecruitsShortSword = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_short_sword_hib"); if (RecruitsShortSword == null) { RecruitsShortSword = new ItemTemplate(); RecruitsShortSword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsShortSword.Name + ", creating it ..."); RecruitsShortSword.Level = 5; RecruitsShortSword.Weight = 18; RecruitsShortSword.Model = 3; RecruitsShortSword.Hand = 2; RecruitsShortSword.Object_Type = (int)eObjectType.Blades; RecruitsShortSword.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsShortSword.Id_nb = "recruits_short_sword_hib"; RecruitsShortSword.Price = 0; RecruitsShortSword.IsPickable = true; RecruitsShortSword.IsDropable = false; // can't be sold to merchand RecruitsShortSword.DPS_AF = 24; RecruitsShortSword.SPD_ABS = 30; RecruitsShortSword.Bonus = 1; RecruitsShortSword.Bonus1 = 3; RecruitsShortSword.Bonus1Type = (int)eProperty.Strength; RecruitsShortSword.Bonus2 = 1; RecruitsShortSword.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsShortSword.Bonus3 = 1; RecruitsShortSword.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsShortSword.Bonus4 = 1; RecruitsShortSword.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsShortSword.Bonus5 = 1; RecruitsShortSword.Bonus5Type = (int)eProperty.Quickness; RecruitsShortSword.Quality = 100; RecruitsShortSword.Condition = 50000; RecruitsShortSword.MaxCondition = 50000; RecruitsShortSword.Durability = 50000; RecruitsShortSword.MaxDurability = 50000; RecruitsShortSword.Type_Damage = 2; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(RecruitsShortSword); } RecruitsDirk = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_dirk"); if (RecruitsDirk == null) { RecruitsDirk = new ItemTemplate(); RecruitsDirk.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsDirk.Name + ", creating it ..."); RecruitsDirk.Level = 5; RecruitsDirk.Weight = 8; RecruitsDirk.Model = 21; RecruitsDirk.Hand = 2; RecruitsDirk.Object_Type = (int)eObjectType.ThrustWeapon; RecruitsDirk.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsDirk.Id_nb = "recruits_dirk"; RecruitsDirk.Price = 0; RecruitsDirk.IsPickable = true; RecruitsDirk.IsDropable = false; // can't be sold to merchand RecruitsDirk.DPS_AF = 24; RecruitsDirk.SPD_ABS = 26; RecruitsDirk.Bonus = 1; RecruitsDirk.Bonus1 = 3; RecruitsDirk.Bonus1Type = (int)eProperty.Dexterity; RecruitsDirk.Bonus2 = 1; RecruitsDirk.Bonus2Type = (int)eProperty.AllMeleeWeaponSkills; RecruitsDirk.Bonus3 = 1; RecruitsDirk.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsDirk.Bonus4 = 1; RecruitsDirk.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsDirk.Bonus5 = 1; RecruitsDirk.Bonus5Type = (int)eProperty.Strength; RecruitsDirk.Quality = 100; RecruitsDirk.Condition = 50000; RecruitsDirk.MaxCondition = 50000; RecruitsDirk.Durability = 50000; RecruitsDirk.MaxDurability = 50000; RecruitsDirk.Type_Damage = 3; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(RecruitsDirk); } RecruitsClub = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_club"); if (RecruitsClub == null) { RecruitsClub = new ItemTemplate(); RecruitsClub.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsClub.Name + ", creating it ..."); RecruitsClub.Level = 5; RecruitsClub.Weight = 24; RecruitsClub.Model = 14;//11 RecruitsClub.Hand = 2; RecruitsClub.Object_Type = (int)eObjectType.Blunt; RecruitsClub.Item_Type = (int)eEquipmentItems.RIGHT_HAND; RecruitsClub.Id_nb = "recruits_club"; RecruitsClub.Price = 0; RecruitsClub.IsPickable = true; RecruitsClub.IsDropable = false; // can't be sold to merchand RecruitsClub.DPS_AF = 24; RecruitsClub.SPD_ABS = 30; RecruitsClub.Bonus = 1; RecruitsClub.Bonus1 = 3; RecruitsClub.Bonus1Type = (int)eProperty.Acuity; RecruitsClub.Bonus2 = 1; RecruitsClub.Bonus2Type = (int)eProperty.AllMagicSkills; RecruitsClub.Bonus3 = 1; RecruitsClub.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsClub.Bonus4 = 1; RecruitsClub.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsClub.Bonus5 = 1; RecruitsClub.Bonus5Type = (int)eProperty.Constitution; RecruitsClub.Quality = 100; RecruitsClub.Condition = 50000; RecruitsClub.MaxCondition = 50000; RecruitsClub.Durability = 50000; RecruitsClub.MaxDurability = 50000; RecruitsClub.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(RecruitsClub); } RecruitsStaff = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_staff"); if (RecruitsStaff == null) { RecruitsStaff = new ItemTemplate(); RecruitsStaff.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text4"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsStaff.Name + ", creating it ..."); RecruitsStaff.Level = 5; RecruitsStaff.Weight = 24; RecruitsStaff.Model = 19; RecruitsStaff.Hand = 1; RecruitsStaff.Object_Type = (int)eObjectType.Staff; RecruitsStaff.Item_Type = (int)eEquipmentItems.TWO_HANDED; RecruitsStaff.Id_nb = "recruits_staff"; RecruitsStaff.Price = 0; RecruitsStaff.IsPickable = true; RecruitsStaff.IsDropable = false; // can't be sold to merchand RecruitsStaff.DPS_AF = 24; RecruitsStaff.SPD_ABS = 37; RecruitsStaff.Bonus = 1; RecruitsStaff.Bonus1 = 3; RecruitsStaff.Bonus1Type = (int)eProperty.Acuity; RecruitsStaff.Bonus2 = 1; RecruitsStaff.Bonus2Type = (int)eProperty.Dexterity; RecruitsStaff.Bonus3 = 1; RecruitsStaff.Bonus3Type = (int)eProperty.Resist_Crush; RecruitsStaff.Bonus4 = 1; RecruitsStaff.Bonus4Type = (int)eProperty.Resist_Thrust; RecruitsStaff.Bonus5 = 1; RecruitsStaff.Bonus5Type = (int)eProperty.AllMagicSkills; RecruitsStaff.Quality = 100; RecruitsStaff.Condition = 50000; RecruitsStaff.MaxCondition = 50000; RecruitsStaff.Durability = 50000; RecruitsStaff.MaxDurability = 50000; RecruitsStaff.Type_Damage = 1; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(RecruitsStaff); } #endregion ItemTemplate nipperwing = new ItemTemplate(); nipperwing.Weight = 0; nipperwing.Condition = 50000; nipperwing.MaxCondition = 50000; nipperwing.Model = 551; nipperwing.Extension = 1; nipperwing.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.MagicalBacklash.Init.Text5"); Level = 2; QuestGiver = Josson; Rewards.Experience = 90; Rewards.MoneyPercent = 20; Rewards.AddOptionalItem(RecruitsShortSword); Rewards.AddOptionalItem(RecruitsDirk); Rewards.AddOptionalItem(RecruitsClub); Rewards.AddOptionalItem(RecruitsStaff); Rewards.ChoiceOf = 1; OrchardNipperKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Hib.MagicalBacklash.Init.Text6"), QuestGoal.GoalType.KillTask, 1, nipperwing); }
private void Init() { // item db check RecruitsCloak = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_cloak"); if (RecruitsCloak == null) { RecruitsCloak = new ItemTemplate(); RecruitsCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.SearchForKnowledge.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsCloak.Name + ", creating it ..."); } RecruitsCloak.Level = 3; RecruitsCloak.Weight = 3; RecruitsCloak.Model = 443; RecruitsCloak.Color = 30; RecruitsCloak.Object_Type = (int)eObjectType.Magical; RecruitsCloak.Item_Type = (int)eEquipmentItems.CLOAK; RecruitsCloak.Id_nb = "k109_recruits_cloak"; RecruitsCloak.Price = 0; RecruitsCloak.IsPickable = true; RecruitsCloak.IsDropable = false; // can't be sold to merchand RecruitsCloak.Bonus = 1; RecruitsCloak.Bonus1 = 1; RecruitsCloak.Bonus1Type = (int)eProperty.Constitution; RecruitsCloak.Bonus2 = 1; RecruitsCloak.Bonus2Type = (int)eProperty.Resist_Slash; RecruitsCloak.Bonus3 = 1; RecruitsCloak.Bonus3Type = (int)eProperty.Strength; RecruitsCloak.Bonus4 = 1; RecruitsCloak.Bonus4Type = (int)eProperty.Dexterity; RecruitsCloak.Bonus5 = 1; RecruitsCloak.Bonus5Type = (int)eProperty.Acuity; RecruitsCloak.Quality = 100; RecruitsCloak.Condition = 50000; RecruitsCloak.MaxCondition = 50000; RecruitsCloak.Durability = 50000; RecruitsCloak.MaxDurability = 50000; if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(RecruitsCloak); } } LetterToEpona = GameServer.Database.FindObjectByKey <ItemTemplate>("letter_to_epona"); if (LetterToEpona == null) { LetterToEpona = new ItemTemplate(); LetterToEpona.Weight = 0; LetterToEpona.Condition = 50000; LetterToEpona.MaxCondition = 50000; LetterToEpona.Model = 499; LetterToEpona.Extension = 1; LetterToEpona.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.SearchForKnowledge.Init.Text2"); LetterToEpona.Id_nb = "letter_to_epona"; if (SAVE_INTO_DATABASE) { GameServer.Database.AddObject(LetterToEpona); } } Level = 1; QuestGiver = Blercyn; Rewards.Experience = 22; Rewards.MoneyPercent = 100; Rewards.AddBasicItem(RecruitsCloak); Rewards.ChoiceOf = 1; eponasletter = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Hib.SearchForKnowledge.Init.Text3"), QuestGoal.GoalType.ScoutMission, 1, LetterToEpona); }
private void Init() { #region defineItems ItemTemplate standardDagger = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_dagger_alb"); if (standardDagger == null) { standardDagger = CreateOneHand(); standardDagger.Id_nb = "standard_dagger_alb"; standardDagger.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text1"); standardDagger.Bonus1 = 3; standardDagger.Bonus1Type = (int)eProperty.Strength; standardDagger.Bonus2 = 1; standardDagger.Bonus2Type = (int)eProperty.Dexterity; standardDagger.Bonus3 = 1; standardDagger.Bonus3Type = (int)eProperty.Quickness; standardDagger.Bonus4 = 1; standardDagger.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardDagger.SPD_ABS = 23; standardDagger.Type_Damage = 3; standardDagger.Model = 25; standardDagger.Object_Type = 4; standardDagger.Item_Type = 11; GameServer.Database.AddObject(standardDagger); } ItemTemplate standardSword = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_sword_alb"); if (standardSword == null) { standardSword = CreateOneHand(); standardSword.Id_nb = "standard_sword_alb"; standardSword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text2"); standardSword.Bonus1 = 3; standardSword.Bonus1Type = (int)eProperty.Strength; standardSword.Bonus2 = 1; standardSword.Bonus2Type = (int)eProperty.Dexterity; standardSword.Bonus3 = 1; standardSword.Bonus3Type = (int)eProperty.Quickness; standardSword.Bonus4 = 1; standardSword.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardSword.SPD_ABS = 25; standardSword.Object_Type = 3; standardSword.Type_Damage = 2; standardSword.Item_Type = 10; standardSword.Model = 651; GameServer.Database.AddObject(standardSword); } ItemTemplate standardHammer = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_hammer_alb_str"); if (standardHammer == null) { standardHammer = CreateOneHand(); standardHammer.Id_nb = "standard_hammer_alb_str"; standardHammer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text3"); standardHammer.Bonus1 = 3; standardHammer.Bonus1Type = (int)eProperty.Strength; standardHammer.Bonus2 = 1; standardHammer.Bonus2Type = (int)eProperty.Dexterity; standardHammer.Bonus3 = 1; standardHammer.Bonus3Type = (int)eProperty.Quickness; standardHammer.Bonus4 = 1; standardHammer.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardHammer.SPD_ABS = 26; standardHammer.Object_Type = 2; standardHammer.Type_Damage = 1; standardHammer.Item_Type = 10; standardHammer.Model = 12; GameServer.Database.AddObject(standardHammer); } ItemTemplate standardWarPike = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_war_pike"); if (standardWarPike == null) { standardWarPike = CreateTwoHanded(); standardWarPike.Id_nb = "standard_war_pike"; standardWarPike.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text4"); standardWarPike.Bonus1 = 3; standardWarPike.Bonus1Type = (int)eProperty.Strength; standardWarPike.Bonus2 = 1; standardWarPike.Bonus2Type = (int)eProperty.Dexterity; standardWarPike.Bonus3 = 1; standardWarPike.Bonus3Type = (int)eProperty.Quickness; standardWarPike.Bonus4 = 1; standardWarPike.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardWarPike.SPD_ABS = 28; standardWarPike.Type_Damage = 3; standardWarPike.Model = 26; GameServer.Database.AddObject(standardWarPike); } ItemTemplate standardHalberd = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_halberd"); if (standardHalberd == null) { standardHalberd = CreateTwoHanded(); standardHalberd.Id_nb = "standard_halberd"; standardHalberd.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text5"); standardHalberd.Bonus1 = 3; standardHalberd.Bonus1Type = (int)eProperty.Strength; standardHalberd.Bonus2 = 1; standardHalberd.Bonus2Type = (int)eProperty.Dexterity; standardHalberd.Bonus3 = 1; standardHalberd.Bonus3Type = (int)eProperty.Quickness; standardHalberd.Bonus4 = 1; standardHalberd.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardHalberd.SPD_ABS = 28; standardHalberd.Type_Damage = 2; standardHalberd.Model = 67; GameServer.Database.AddObject(standardHalberd); } ItemTemplate standardLucerneHammer = GameServer.Database.FindObjectByKey<ItemTemplate>("standard_lucerne_hammer"); if (standardLucerneHammer == null) { standardLucerneHammer = CreateTwoHanded(); standardLucerneHammer.Id_nb = "standard_lucerne_hammer"; standardLucerneHammer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text6"); standardLucerneHammer.Bonus1 = 3; standardLucerneHammer.Bonus1Type = (int)eProperty.Strength; standardLucerneHammer.Bonus2 = 1; standardLucerneHammer.Bonus2Type = (int)eProperty.Dexterity; standardLucerneHammer.Bonus3 = 1; standardLucerneHammer.Bonus3Type = (int)eProperty.Quickness; standardLucerneHammer.Bonus4 = 1; standardLucerneHammer.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardLucerneHammer.SPD_ABS = 28; standardLucerneHammer.Type_Damage = 1; standardLucerneHammer.Model = 70; GameServer.Database.AddObject(standardLucerneHammer); } #endregion Level = 1; QuestGiver = captainKinzee; Rewards.Experience = 22; Rewards.MoneyPercent = 18; Rewards.AddOptionalItem(standardDagger); Rewards.AddOptionalItem(standardSword); Rewards.AddOptionalItem(standardHammer); Rewards.AddOptionalItem(standardWarPike); Rewards.AddOptionalItem(standardHalberd); Rewards.AddOptionalItem(standardLucerneHammer); Rewards.ChoiceOf = 1; greetingsArmsmanGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Description"), QuestGoal.GoalType.KillTask, 0, null); }
private void Init() { #region defineItems // item db check - All my quests with Recruit newbie items make a seperate // item then the older quests. RecruitsQuiltedPants = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_quilted_pants"); if (RecruitsQuiltedPants == null) { RecruitsQuiltedPants = new ItemTemplate(); RecruitsQuiltedPants.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsQuiltedPants.Name + ", creating it ..."); RecruitsQuiltedPants.Level = 5; RecruitsQuiltedPants.Weight = 20; RecruitsQuiltedPants.Model = 140; RecruitsQuiltedPants.Color = 28; RecruitsQuiltedPants.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedPants.Item_Type = (int)eEquipmentItems.LEGS; RecruitsQuiltedPants.Id_nb = "k109_recruits_quilted_pants"; RecruitsQuiltedPants.Price = Money.GetMoney(0,0,0,0,40); RecruitsQuiltedPants.IsPickable = true; RecruitsQuiltedPants.IsDropable = false; // can't be sold to merchand RecruitsQuiltedPants.DPS_AF = 6; RecruitsQuiltedPants.SPD_ABS = 0; RecruitsQuiltedPants.Bonus1 = 20; RecruitsQuiltedPants.Bonus1Type = (int)eProperty.MaxHealth; RecruitsQuiltedPants.Bonus2 = 1; RecruitsQuiltedPants.Bonus2Type = (int)eProperty.Resist_Body; RecruitsQuiltedPants.Bonus3 = 1; RecruitsQuiltedPants.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsQuiltedPants.Bonus4 = 1; RecruitsQuiltedPants.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsQuiltedPants.Bonus5 = 1; RecruitsQuiltedPants.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsQuiltedPants.Bonus6 = 1; RecruitsQuiltedPants.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsQuiltedPants.Bonus7 = 1; RecruitsQuiltedPants.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsQuiltedPants.Quality = 100; RecruitsQuiltedPants.Condition = 50000; RecruitsQuiltedPants.MaxCondition = 50000; RecruitsQuiltedPants.Durability = 50000; RecruitsQuiltedPants.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedPants); } RecruitsLeatherLeggings = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_leather_leggings"); if (RecruitsLeatherLeggings == null) { RecruitsLeatherLeggings = new ItemTemplate(); RecruitsLeatherLeggings.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsLeatherLeggings.Name + ", creating it ..."); RecruitsLeatherLeggings.Level = 5; RecruitsLeatherLeggings.Weight = 40; RecruitsLeatherLeggings.Model = 32; RecruitsLeatherLeggings.Color = 11; RecruitsLeatherLeggings.Object_Type = (int)eObjectType.Leather; RecruitsLeatherLeggings.Item_Type = (int)eEquipmentItems.LEGS; RecruitsLeatherLeggings.Id_nb = "k109_recruits_leather_leggings"; RecruitsLeatherLeggings.Price = Money.GetMoney(0,0,0,0,40); RecruitsLeatherLeggings.IsPickable = true; RecruitsLeatherLeggings.IsDropable = false; // can't be sold to merchand RecruitsLeatherLeggings.DPS_AF = 12; RecruitsLeatherLeggings.SPD_ABS = 10; RecruitsLeatherLeggings.Bonus1 = 20; RecruitsLeatherLeggings.Bonus1Type = (int)eProperty.MaxHealth; RecruitsLeatherLeggings.Bonus2 = 1; RecruitsLeatherLeggings.Bonus2Type = (int)eProperty.Resist_Body; RecruitsLeatherLeggings.Bonus3 = 1; RecruitsLeatherLeggings.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsLeatherLeggings.Bonus4 = 1; RecruitsLeatherLeggings.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsLeatherLeggings.Bonus5 = 1; RecruitsLeatherLeggings.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsLeatherLeggings.Bonus6 = 1; RecruitsLeatherLeggings.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsLeatherLeggings.Bonus7 = 1; RecruitsLeatherLeggings.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsLeatherLeggings.Quality = 100; RecruitsLeatherLeggings.Condition = 50000; RecruitsLeatherLeggings.MaxCondition = 50000; RecruitsLeatherLeggings.Durability = 50000; RecruitsLeatherLeggings.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherLeggings); } RecruitsStuddedLegs = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_studded_legs"); if (RecruitsStuddedLegs == null) { RecruitsStuddedLegs = new ItemTemplate(); RecruitsStuddedLegs.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsStuddedLegs.Name + ", creating it ..."); RecruitsStuddedLegs.Level = 5; RecruitsStuddedLegs.Weight = 60; RecruitsStuddedLegs.Model = 82; RecruitsStuddedLegs.Color = 11; RecruitsStuddedLegs.Object_Type = (int)eObjectType.Studded; RecruitsStuddedLegs.Item_Type = (int)eEquipmentItems.LEGS; RecruitsStuddedLegs.Id_nb = "k109_recruits_studded_legs"; RecruitsStuddedLegs.Price = Money.GetMoney(0,0,0,0,40); RecruitsStuddedLegs.IsPickable = true; RecruitsStuddedLegs.IsDropable = false; // can't be sold to merchand RecruitsStuddedLegs.DPS_AF = 12; RecruitsStuddedLegs.SPD_ABS = 19; RecruitsStuddedLegs.Bonus1 = 20; RecruitsStuddedLegs.Bonus1Type = (int)eProperty.MaxHealth; RecruitsStuddedLegs.Bonus2 = 1; RecruitsStuddedLegs.Bonus2Type = (int)eProperty.Resist_Body; RecruitsStuddedLegs.Bonus3 = 1; RecruitsStuddedLegs.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsStuddedLegs.Bonus4 = 1; RecruitsStuddedLegs.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsStuddedLegs.Bonus5 = 1; RecruitsStuddedLegs.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsStuddedLegs.Bonus6 = 1; RecruitsStuddedLegs.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsStuddedLegs.Bonus7 = 1; RecruitsStuddedLegs.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsStuddedLegs.Quality = 100; RecruitsStuddedLegs.Condition = 50000; RecruitsStuddedLegs.MaxCondition = 50000; RecruitsStuddedLegs.Durability = 50000; RecruitsStuddedLegs.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedLegs); } #endregion ItemTemplate spriggarnBlood = new ItemTemplate(); spriggarnBlood.Weight = 0; spriggarnBlood.Condition = 50000; spriggarnBlood.MaxCondition = 50000; spriggarnBlood.Model = 99; spriggarnBlood.Extension = 1; spriggarnBlood.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text4"); Level = 1; QuestGiver = MasterKless; Rewards.Experience = 270; Rewards.MoneyPercent = 50; Rewards.AddOptionalItem(RecruitsQuiltedPants); Rewards.AddOptionalItem(RecruitsLeatherLeggings); Rewards.AddOptionalItem(RecruitsStuddedLegs); Rewards.ChoiceOf = 1; spriggarnsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text5"), QuestGoal.GoalType.KillTask, 2, spriggarnBlood); }
private void Init() { #region defineItems // item db check RecruitsQuiltedVest = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_quilted_vest"); if (RecruitsQuiltedVest == null) { RecruitsQuiltedVest = new ItemTemplate(); RecruitsQuiltedVest.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsQuiltedVest.Name + ", creating it ..."); } RecruitsQuiltedVest.Level = 5; RecruitsQuiltedVest.Weight = 20; RecruitsQuiltedVest.Model = 139; RecruitsQuiltedVest.Color = 28; RecruitsQuiltedVest.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedVest.Item_Type = (int)eEquipmentItems.TORSO; RecruitsQuiltedVest.Id_nb = "k109_recruits_quilted_vest"; RecruitsQuiltedVest.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsQuiltedVest.IsPickable = true; RecruitsQuiltedVest.IsDropable = true; // can't be sold to merchand RecruitsQuiltedVest.DPS_AF = 6; RecruitsQuiltedVest.SPD_ABS = 0; RecruitsQuiltedVest.Bonus1 = 3; RecruitsQuiltedVest.Bonus1Type = (int)eProperty.Dexterity; RecruitsQuiltedVest.Bonus2 = 4; RecruitsQuiltedVest.Bonus2Type = (int)eProperty.Acuity; RecruitsQuiltedVest.Bonus3 = 1; RecruitsQuiltedVest.Bonus3Type = (int)eProperty.Resist_Spirit; RecruitsQuiltedVest.Bonus4 = 1; RecruitsQuiltedVest.Bonus4Type = (int)eProperty.Resist_Matter; RecruitsQuiltedVest.Quality = 100; RecruitsQuiltedVest.Condition = 50000; RecruitsQuiltedVest.MaxCondition = 50000; RecruitsQuiltedVest.Durability = 50000; RecruitsQuiltedVest.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedVest); } RecruitsLeatherJerkin = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_leather_jerkin"); if (RecruitsLeatherJerkin == null) { RecruitsLeatherJerkin = new ItemTemplate(); RecruitsLeatherJerkin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text2"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsLeatherJerkin.Name + ", creating it ..."); } RecruitsLeatherJerkin.Level = 5; RecruitsLeatherJerkin.Weight = 40; RecruitsLeatherJerkin.Model = 31; RecruitsLeatherJerkin.Color = 11; RecruitsLeatherJerkin.Object_Type = (int)eObjectType.Leather; RecruitsLeatherJerkin.Item_Type = (int)eEquipmentItems.TORSO; RecruitsLeatherJerkin.Id_nb = "k109_recruits_leather_jerkin"; RecruitsLeatherJerkin.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsLeatherJerkin.IsPickable = true; RecruitsLeatherJerkin.IsDropable = true; // can't be sold to merchand RecruitsLeatherJerkin.DPS_AF = 12; RecruitsLeatherJerkin.SPD_ABS = 10; RecruitsLeatherJerkin.Bonus1 = 4; RecruitsLeatherJerkin.Bonus1Type = (int)eProperty.Dexterity; RecruitsLeatherJerkin.Bonus2 = 3; RecruitsLeatherJerkin.Bonus2Type = (int)eProperty.Strength; RecruitsLeatherJerkin.Bonus3 = 1; RecruitsLeatherJerkin.Bonus3Type = (int)eProperty.Constitution; RecruitsLeatherJerkin.Bonus4 = 1; RecruitsLeatherJerkin.Bonus4Type = (int)eProperty.Resist_Spirit; RecruitsLeatherJerkin.Quality = 100; RecruitsLeatherJerkin.Condition = 50000; RecruitsLeatherJerkin.MaxCondition = 50000; RecruitsLeatherJerkin.Durability = 50000; RecruitsLeatherJerkin.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherJerkin); } RecruitsStuddedVest = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_studded_vest"); if (RecruitsStuddedVest == null) { RecruitsStuddedVest = new ItemTemplate(); RecruitsStuddedVest.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text3"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsStuddedVest.Name + ", creating it ..."); } RecruitsStuddedVest.Level = 5; RecruitsStuddedVest.Weight = 60; RecruitsStuddedVest.Model = 81; RecruitsStuddedVest.Color = 11; RecruitsStuddedVest.Object_Type = (int)eObjectType.Studded; RecruitsStuddedVest.Item_Type = (int)eEquipmentItems.TORSO; RecruitsStuddedVest.Id_nb = "k109_recruits_studded_vest"; RecruitsStuddedVest.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsStuddedVest.IsPickable = true; RecruitsStuddedVest.IsDropable = true; // can't be sold to merchand RecruitsStuddedVest.DPS_AF = 12; RecruitsStuddedVest.SPD_ABS = 19; RecruitsStuddedVest.Bonus1 = 1; RecruitsStuddedVest.Bonus1Type = (int)eProperty.Dexterity; RecruitsStuddedVest.Bonus2 = 4; RecruitsStuddedVest.Bonus2Type = (int)eProperty.Strength; RecruitsStuddedVest.Bonus3 = 3; RecruitsStuddedVest.Bonus3Type = (int)eProperty.Constitution; RecruitsStuddedVest.Bonus4 = 1; RecruitsStuddedVest.Bonus4Type = (int)eProperty.Resist_Spirit; RecruitsStuddedVest.Quality = 100; RecruitsStuddedVest.Condition = 50000; RecruitsStuddedVest.MaxCondition = 50000; RecruitsStuddedVest.Durability = 50000; RecruitsStuddedVest.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedVest); } #endregion //Skeleton Skull ItemTemplate skeletonskull = new ItemTemplate(); skeletonskull.Weight = 0; skeletonskull.Condition = 50000; skeletonskull.MaxCondition = 50000; skeletonskull.Model = 540; skeletonskull.Extension = 1; skeletonskull.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text4"); ItemTemplate zombieskin = new ItemTemplate(); zombieskin.Weight = 0; zombieskin.Condition = 50000; zombieskin.MaxCondition = 50000; zombieskin.Model = 540; zombieskin.Extension = 1; zombieskin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.CemmethsOrders.Init.Text5"); QuestGiver = CemmethBudgwold; Rewards.Experience = 625; Rewards.MoneyPercent = 100; Rewards.AddOptionalItem(RecruitsQuiltedVest); Rewards.AddOptionalItem(RecruitsLeatherJerkin); Rewards.AddOptionalItem(RecruitsStuddedVest); Rewards.ChoiceOf = 1; SkeletonsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.CemmethsOrders.Init.Text6"), QuestGoal.GoalType.KillTask, 1, null); DecayingGhoulsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.CemmethsOrders.Init.Text7"), QuestGoal.GoalType.KillTask, 1, null); }
private void Init() { #region defineItems ItemTemplate intelligentBracer = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_intelligent_bracer"); if (intelligentBracer == null) { intelligentBracer = CreateBracer(); intelligentBracer.Id_nb = "recruits_intelligent_bracer"; intelligentBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text1"); intelligentBracer.Bonus1 = 4; intelligentBracer.Bonus1Type = (int)eProperty.Acuity; intelligentBracer.Bonus2 = 3; intelligentBracer.Bonus2Type = (int)eProperty.Constitution; intelligentBracer.Bonus3 = 2; intelligentBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(intelligentBracer); } ItemTemplate mightyBracer = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_mighty_bracer"); if (mightyBracer == null) { mightyBracer = CreateBracer(); mightyBracer.Id_nb = "recruits_mighty_bracer"; mightyBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text2"); mightyBracer.Bonus1 = 4; mightyBracer.Bonus1Type = (int)eProperty.Strength; mightyBracer.Bonus2 = 4; mightyBracer.Bonus2Type = (int)eProperty.Constitution; mightyBracer.Bonus3 = 2; mightyBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(mightyBracer); } ItemTemplate slyBracer = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_sly_bracer"); if (slyBracer == null) { slyBracer = CreateBracer(); slyBracer.Id_nb = "recruits_sly_bracer"; slyBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text3"); slyBracer.Bonus1 = 4; slyBracer.Bonus1Type = (int)eProperty.Dexterity; slyBracer.Bonus2 = 4; slyBracer.Bonus2Type = (int)eProperty.Quickness; slyBracer.Bonus3 = 2; slyBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(slyBracer); } ItemTemplate piousBracer = GameServer.Database.FindObjectByKey<ItemTemplate>("recruits_pious_bracer"); if (piousBracer == null) { piousBracer = CreateBracer(); piousBracer.Id_nb = "recruits_pious_bracer"; piousBracer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text4"); piousBracer.Bonus1 = 4; piousBracer.Bonus1Type = (int)eProperty.Acuity; piousBracer.Bonus2 = 3; piousBracer.Bonus2Type = (int)eProperty.Dexterity; piousBracer.Bonus3 = 2; piousBracer.Bonus3Type = (int)eProperty.Resist_Slash; GameServer.Database.AddObject(piousBracer); } #endregion defineItems ItemTemplate banditCloak = GameServer.Database.FindObjectByKey<ItemTemplate>("quest_bandit_cloak"); if (banditCloak == null) { banditCloak = new ItemTemplate(); banditCloak.Id_nb = "quest_bandit_cloak"; banditCloak.Weight = 0; banditCloak.Condition = 50000; banditCloak.MaxCondition = 50000; banditCloak.Model = 669; banditCloak.Extension = 1; banditCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text5"); GameServer.Database.AddObject(banditCloak); } Level = 1; QuestGiver = sirDorian; Rewards.Experience = 22; Rewards.MoneyPercent = 20; Rewards.AddOptionalItem(intelligentBracer); Rewards.AddOptionalItem(mightyBracer); Rewards.AddOptionalItem(slyBracer); Rewards.AddOptionalItem(piousBracer); Rewards.ChoiceOf = 1; banditHopefulGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.NoHopeForTheHopeful.Init.Text6"), QuestGoal.GoalType.KillTask, 2, banditCloak); }
private void Init() { #region defineItems // item db check RecruitsCloak = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_cloak"); if (RecruitsCloak == null) { RecruitsCloak = new ItemTemplate(); RecruitsCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsCloak.Name + ", creating it ..."); RecruitsCloak.Level = 5; RecruitsCloak.Weight = 3; RecruitsCloak.Model = 443; RecruitsCloak.Color = 36; RecruitsCloak.Object_Type = (int)eObjectType.Magical; RecruitsCloak.Item_Type = (int)eEquipmentItems.CLOAK; RecruitsCloak.Id_nb = "k109_recruits_cloak"; RecruitsCloak.Price = 0; RecruitsCloak.IsPickable = true; RecruitsCloak.IsDropable = false; // can't be sold to merchand RecruitsCloak.Bonus1 = 6; RecruitsCloak.Bonus1Type = (int)eProperty.MaxHealth; RecruitsCloak.Quality = 100; RecruitsCloak.Condition = 50000; RecruitsCloak.MaxCondition = 50000; RecruitsCloak.Durability = 50000; RecruitsCloak.MaxDurability = 50000; GameServer.Database.AddObject(RecruitsCloak); } LetterToPompin = GameServer.Database.FindObjectByKey<ItemTemplate>("letter_to_pompin"); if (LetterToPompin == null) { LetterToPompin = new ItemTemplate(); LetterToPompin.Weight = 0; LetterToPompin.Condition = 50000; LetterToPompin.MaxCondition = 50000; LetterToPompin.Model = 499; LetterToPompin.Extension = 1; LetterToPompin.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text2"); LetterToPompin.Id_nb = "letter_to_pompin"; GameServer.Database.AddObject(LetterToPompin); } #endregion Level = 1; QuestGiver = MasterClaistan; Rewards.Experience = 22; Rewards.MoneyPercent = 100; Rewards.AddBasicItem(RecruitsCloak); Rewards.ChoiceOf = 1; pompinsletter = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.ANewHeroesWelcome.Init.Text3"), QuestGoal.GoalType.ScoutMission, 1, LetterToPompin); }
private void Init() { #region defineItems // item db check lightredclothdye = GameServer.Database.FindObjectByKey<ItemTemplate>("light_red_cloth_dye"); if (lightredclothdye == null) { lightredclothdye = new ItemTemplate(); lightredclothdye.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenGoodBrowniesGoBad.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + lightredclothdye.Name + ", creating it ..."); lightredclothdye.Level = 1; lightredclothdye.Weight = 0; lightredclothdye.Model = 229; lightredclothdye.Color = 0; lightredclothdye.Object_Type = (int)eObjectType.GenericItem; lightredclothdye.Id_nb = "light_red_cloth_dye"; lightredclothdye.Price = Money.GetMoney(0,0,0,0,40); lightredclothdye.IsPickable = true; lightredclothdye.IsDropable = true; // can't be sold to merchand lightredclothdye.Quality = 100; lightredclothdye.Condition = 50000; lightredclothdye.MaxCondition = 50000; lightredclothdye.Durability = 50000; lightredclothdye.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(lightredclothdye); } lightredleatherdye = GameServer.Database.FindObjectByKey<ItemTemplate>("light_red_leather_dye"); if (lightredleatherdye == null) { lightredleatherdye = new ItemTemplate(); lightredleatherdye.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenGoodBrowniesGoBad.Init.Text2"); if (log.IsWarnEnabled) log.Warn("Could not find " + lightredleatherdye.Name + ", creating it ..."); lightredleatherdye.Level = 1; lightredleatherdye.Weight = 0; lightredleatherdye.Model = 229; lightredleatherdye.Color = 0; lightredleatherdye.Object_Type = (int)eObjectType.GenericItem; lightredleatherdye.Id_nb = "light_red_leather_dye"; lightredleatherdye.Price = Money.GetMoney(0,0,0,0,40); lightredleatherdye.IsPickable = true; lightredleatherdye.IsDropable = true; // can't be sold to merchand lightredleatherdye.Quality = 100; lightredleatherdye.Condition = 50000; lightredleatherdye.MaxCondition = 50000; lightredleatherdye.Durability = 50000; lightredleatherdye.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(lightredleatherdye); } lightredenamel = GameServer.Database.FindObjectByKey<ItemTemplate>("light_red_enamel"); if (lightredenamel == null) { lightredenamel = new ItemTemplate(); lightredenamel.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenGoodBrowniesGoBad.Init.Text3"); if (log.IsWarnEnabled) log.Warn("Could not find " + lightredenamel.Name + ", creating it ..."); lightredenamel.Level = 1; lightredenamel.Weight = 0; lightredenamel.Model = 229; lightredenamel.Color = 0; lightredenamel.Object_Type = (int)eObjectType.GenericItem; lightredenamel.Id_nb = "light_red_enamel"; lightredenamel.Price = Money.GetMoney(0,0,0,0,40); lightredenamel.IsPickable = true; lightredenamel.IsDropable = true; // can't be sold to merchand lightredenamel.Quality = 100; lightredenamel.Condition = 50000; lightredenamel.MaxCondition = 50000; lightredenamel.Durability = 50000; lightredenamel.MaxDurability = 50000; //You don't have to store the created item in the db if you don't want, //it will be recreated each time it is not found, just comment the following //line if you rather not modify your database GameServer.Database.AddObject(lightredenamel); } #endregion ItemTemplate brownieBlood = new ItemTemplate(); brownieBlood.Weight = 0; brownieBlood.Condition = 50000; brownieBlood.MaxCondition = 50000; brownieBlood.Model = 99; brownieBlood.Extension = 1; brownieBlood.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenGoodBrowniesGoBad.Init.Text4"); Level = 1; QuestGiver = MasterKless; Rewards.Experience = 90; Rewards.MoneyPercent = 80; Rewards.AddOptionalItem(lightredclothdye); Rewards.AddOptionalItem(lightredleatherdye); Rewards.AddOptionalItem(lightredenamel); Rewards.ChoiceOf = 1; browniesKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.WhenGoodBrowniesGoBad.Init.Text5"), QuestGoal.GoalType.KillTask, 3, brownieBlood); }
private void CreateQuest(QuestGoal type, string description, int reward, int killGoal, string killType, string arriveType, string useType, string talkType) { var newQuest = new Quest(type, description, reward, killGoal, killType, arriveType, useType, talkType); questList.Add(newQuest); }
private void SetupProperties() { State = QuestState.Unavailable; Goal = new QuestGoal(); Prize = new QuestPrize(); }
private void Init() { #region defineItems RecruitsIntelligentBelt = GameServer.Database.FindObjectByKey <ItemTemplate>("RecruitsIntelligentBelt"); if (RecruitsIntelligentBelt == null) { RecruitsIntelligentBelt = new ItemTemplate(); RecruitsIntelligentBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.ToReachTheBreach.Init.Text1"); RecruitsIntelligentBelt.Id_nb = "RecruitsIntelligentBelt"; RecruitsIntelligentBelt.Level = 4; RecruitsIntelligentBelt.Weight = 3; RecruitsIntelligentBelt.Model = 597; RecruitsIntelligentBelt.Color = 0; RecruitsIntelligentBelt.Object_Type = (int)eObjectType.Magical; RecruitsIntelligentBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsIntelligentBelt.Price = Money.GetMoney(0, 0, 0, 0, 10); RecruitsIntelligentBelt.Quality = 100; RecruitsIntelligentBelt.Condition = 50000; RecruitsIntelligentBelt.MaxCondition = 50000; RecruitsIntelligentBelt.Durability = 50000; RecruitsIntelligentBelt.MaxDurability = 50000; RecruitsIntelligentBelt.Bonus = 1; RecruitsIntelligentBelt.Bonus1 = 3; RecruitsIntelligentBelt.Bonus1Type = (int)eProperty.Acuity; RecruitsIntelligentBelt.Bonus2 = 3; RecruitsIntelligentBelt.Bonus2Type = (int)eProperty.Dexterity; RecruitsIntelligentBelt.Bonus3 = 1; RecruitsIntelligentBelt.Bonus3Type = (int)eProperty.Constitution; RecruitsIntelligentBelt.Bonus4 = 8; RecruitsIntelligentBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsIntelligentBelt.IsDropable = false; } RecruitsMightyBelt = GameServer.Database.FindObjectByKey <ItemTemplate>("RecruitsMightyBelt"); if (RecruitsMightyBelt == null) { RecruitsMightyBelt = new ItemTemplate(); RecruitsMightyBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.ToReachTheBreach.Init.Text2"); RecruitsMightyBelt.Id_nb = "RecruitsMightyBelt"; RecruitsMightyBelt.Level = 4; RecruitsMightyBelt.Weight = 3; RecruitsMightyBelt.Model = 597; RecruitsMightyBelt.Color = 0; RecruitsMightyBelt.Object_Type = (int)eObjectType.Magical; RecruitsMightyBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsMightyBelt.Price = Money.GetMoney(0, 0, 0, 0, 10); RecruitsMightyBelt.Quality = 100; RecruitsMightyBelt.Condition = 50000; RecruitsMightyBelt.MaxCondition = 50000; RecruitsMightyBelt.Durability = 50000; RecruitsMightyBelt.MaxDurability = 50000; RecruitsMightyBelt.Bonus = 1; RecruitsMightyBelt.Bonus1 = 3; RecruitsMightyBelt.Bonus1Type = (int)eProperty.Strength; RecruitsMightyBelt.Bonus2 = 3; RecruitsMightyBelt.Bonus2Type = (int)eProperty.Constitution; RecruitsMightyBelt.Bonus3 = 1; RecruitsMightyBelt.Bonus3Type = (int)eProperty.Quickness; RecruitsMightyBelt.Bonus4 = 8; RecruitsMightyBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsMightyBelt.IsDropable = false; } RecruitsPiousBelt = GameServer.Database.FindObjectByKey <ItemTemplate>("RecruitsPiousBelt"); if (RecruitsPiousBelt == null) { RecruitsPiousBelt = new ItemTemplate(); RecruitsPiousBelt.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.ToReachTheBreach.Init.Text3"); RecruitsPiousBelt.Id_nb = "RecruitsPiousBelt"; RecruitsPiousBelt.Level = 4; RecruitsPiousBelt.Weight = 3; RecruitsPiousBelt.Model = 597; RecruitsPiousBelt.Color = 0; RecruitsPiousBelt.Object_Type = (int)eObjectType.Magical; RecruitsPiousBelt.Item_Type = (int)eEquipmentItems.WAIST; RecruitsPiousBelt.Price = Money.GetMoney(0, 0, 0, 0, 10); RecruitsPiousBelt.Quality = 100; RecruitsPiousBelt.Condition = 50000; RecruitsPiousBelt.MaxCondition = 50000; RecruitsPiousBelt.Durability = 50000; RecruitsPiousBelt.MaxDurability = 50000; RecruitsPiousBelt.Bonus = 1; RecruitsPiousBelt.Bonus1 = 3; RecruitsPiousBelt.Bonus1Type = (int)eProperty.Acuity; RecruitsPiousBelt.Bonus2 = 1; RecruitsPiousBelt.Bonus2Type = (int)eProperty.Strength; RecruitsPiousBelt.Bonus3 = 3; RecruitsPiousBelt.Bonus3Type = (int)eProperty.Dexterity; RecruitsPiousBelt.Bonus4 = 8; RecruitsPiousBelt.Bonus4Type = (int)eProperty.MaxHealth; RecruitsPiousBelt.IsDropable = false; } #endregion Level = 3; QuestGiver = Richael; Rewards.Experience = 90; Rewards.MoneyPercent = 100; Rewards.AddOptionalItem(RecruitsIntelligentBelt); Rewards.AddOptionalItem(RecruitsMightyBelt); Rewards.AddOptionalItem(RecruitsPiousBelt); Rewards.ChoiceOf = 1; FoundBreach = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Hib.ToReachTheBreach.Init.Text4"), QuestGoal.GoalType.ScoutMission, 1, null); }
private void Init() { ItemTemplate standardDagger = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_dagger_alb"); if (standardDagger == null) { standardDagger = CreateOneHand(); standardDagger.Id_nb = "standard_dagger_alb"; standardDagger.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text1"); standardDagger.Bonus1 = 3; standardDagger.Bonus1Type = (int)eProperty.Strength; standardDagger.Bonus2 = 1; standardDagger.Bonus2Type = (int)eProperty.Dexterity; standardDagger.Bonus3 = 1; standardDagger.Bonus3Type = (int)eProperty.Quickness; standardDagger.Bonus4 = 1; standardDagger.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardDagger.SPD_ABS = 23; standardDagger.Type_Damage = 3; standardDagger.Model = 25; standardDagger.Object_Type = 4; standardDagger.Item_Type = 11; GameServer.Database.AddObject(standardDagger); } ItemTemplate standardSword = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_sword_alb"); if (standardSword == null) { standardSword = CreateOneHand(); standardSword.Id_nb = "standard_sword_alb"; standardSword.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text2"); standardSword.Bonus1 = 3; standardSword.Bonus1Type = (int)eProperty.Strength; standardSword.Bonus2 = 1; standardSword.Bonus2Type = (int)eProperty.Dexterity; standardSword.Bonus3 = 1; standardSword.Bonus3Type = (int)eProperty.Quickness; standardSword.Bonus4 = 1; standardSword.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardSword.SPD_ABS = 25; standardSword.Object_Type = 3; standardSword.Type_Damage = 2; standardSword.Item_Type = 10; standardSword.Model = 651; GameServer.Database.AddObject(standardSword); } ItemTemplate standardHammer = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_hammer_alb_str"); if (standardHammer == null) { standardHammer = CreateOneHand(); standardHammer.Id_nb = "standard_hammer_alb_str"; standardHammer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text3"); standardHammer.Bonus1 = 3; standardHammer.Bonus1Type = (int)eProperty.Strength; standardHammer.Bonus2 = 1; standardHammer.Bonus2Type = (int)eProperty.Dexterity; standardHammer.Bonus3 = 1; standardHammer.Bonus3Type = (int)eProperty.Quickness; standardHammer.Bonus4 = 1; standardHammer.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardHammer.SPD_ABS = 26; standardHammer.Object_Type = 2; standardHammer.Type_Damage = 1; standardHammer.Item_Type = 10; standardHammer.Model = 12; GameServer.Database.AddObject(standardHammer); } ItemTemplate standardWarPike = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_war_pike"); if (standardWarPike == null) { standardWarPike = CreateTwoHanded(); standardWarPike.Id_nb = "standard_war_pike"; standardWarPike.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text4"); standardWarPike.Bonus1 = 3; standardWarPike.Bonus1Type = (int)eProperty.Strength; standardWarPike.Bonus2 = 1; standardWarPike.Bonus2Type = (int)eProperty.Dexterity; standardWarPike.Bonus3 = 1; standardWarPike.Bonus3Type = (int)eProperty.Quickness; standardWarPike.Bonus4 = 1; standardWarPike.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardWarPike.SPD_ABS = 28; standardWarPike.Type_Damage = 3; standardWarPike.Model = 26; GameServer.Database.AddObject(standardWarPike); } ItemTemplate standardHalberd = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_halberd"); if (standardHalberd == null) { standardHalberd = CreateTwoHanded(); standardHalberd.Id_nb = "standard_halberd"; standardHalberd.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text5"); standardHalberd.Bonus1 = 3; standardHalberd.Bonus1Type = (int)eProperty.Strength; standardHalberd.Bonus2 = 1; standardHalberd.Bonus2Type = (int)eProperty.Dexterity; standardHalberd.Bonus3 = 1; standardHalberd.Bonus3Type = (int)eProperty.Quickness; standardHalberd.Bonus4 = 1; standardHalberd.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardHalberd.SPD_ABS = 28; standardHalberd.Type_Damage = 2; standardHalberd.Model = 67; GameServer.Database.AddObject(standardHalberd); } ItemTemplate standardLucerneHammer = GameServer.Database.FindObjectByKey <ItemTemplate>("standard_lucerne_hammer"); if (standardLucerneHammer == null) { standardLucerneHammer = CreateTwoHanded(); standardLucerneHammer.Id_nb = "standard_lucerne_hammer"; standardLucerneHammer.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Init.Text6"); standardLucerneHammer.Bonus1 = 3; standardLucerneHammer.Bonus1Type = (int)eProperty.Strength; standardLucerneHammer.Bonus2 = 1; standardLucerneHammer.Bonus2Type = (int)eProperty.Dexterity; standardLucerneHammer.Bonus3 = 1; standardLucerneHammer.Bonus3Type = (int)eProperty.Quickness; standardLucerneHammer.Bonus4 = 1; standardLucerneHammer.Bonus4Type = (int)eProperty.AllMeleeWeaponSkills; standardLucerneHammer.SPD_ABS = 28; standardLucerneHammer.Type_Damage = 1; standardLucerneHammer.Model = 70; GameServer.Database.AddObject(standardLucerneHammer); } Level = 1; QuestGiver = captainKinzee; Rewards.Experience = 22; Rewards.MoneyPercent = 18; Rewards.AddOptionalItem(standardDagger); Rewards.AddOptionalItem(standardSword); Rewards.AddOptionalItem(standardHammer); Rewards.AddOptionalItem(standardWarPike); Rewards.AddOptionalItem(standardHalberd); Rewards.AddOptionalItem(standardLucerneHammer); Rewards.ChoiceOf = 1; greetingsArmsmanGoal = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.GreetingsArmsman.Description"), QuestGoal.GoalType.KillTask, 0, null); }
private void Init() { #region defineItems // item db check RecruitsCloak = GameServer.Database.FindObjectByKey<ItemTemplate>("k109_recruits_cloak"); if (RecruitsCloak == null) { RecruitsCloak = new ItemTemplate(); RecruitsCloak.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.SearchForKnowledge.Init.Text1"); if (log.IsWarnEnabled) log.Warn("Could not find " + RecruitsCloak.Name + ", creating it ..."); RecruitsCloak.Level = 3; RecruitsCloak.Weight = 3; RecruitsCloak.Model = 443; RecruitsCloak.Color = 30; RecruitsCloak.Object_Type = (int)eObjectType.Magical; RecruitsCloak.Item_Type = (int)eEquipmentItems.CLOAK; RecruitsCloak.Id_nb = "k109_recruits_cloak"; RecruitsCloak.Price = 0; RecruitsCloak.IsPickable = true; RecruitsCloak.IsDropable = false; // can't be sold to merchand RecruitsCloak.Bonus = 1; RecruitsCloak.Bonus1 = 1; RecruitsCloak.Bonus1Type = (int)eProperty.Constitution; RecruitsCloak.Bonus2 = 1; RecruitsCloak.Bonus2Type = (int)eProperty.Resist_Slash; RecruitsCloak.Bonus3 = 1; RecruitsCloak.Bonus3Type = (int)eProperty.Strength; RecruitsCloak.Bonus4 = 1; RecruitsCloak.Bonus4Type = (int)eProperty.Dexterity; RecruitsCloak.Bonus5 = 1; RecruitsCloak.Bonus5Type = (int)eProperty.Acuity; RecruitsCloak.Quality = 100; RecruitsCloak.Condition = 50000; RecruitsCloak.MaxCondition = 50000; RecruitsCloak.Durability = 50000; RecruitsCloak.MaxDurability = 50000; if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(RecruitsCloak); } LetterToEpona = GameServer.Database.FindObjectByKey<ItemTemplate>("letter_to_epona"); if (LetterToEpona == null) { LetterToEpona = new ItemTemplate(); LetterToEpona.Weight = 0; LetterToEpona.Condition = 50000; LetterToEpona.MaxCondition = 50000; LetterToEpona.Model = 499; LetterToEpona.Extension = 1; LetterToEpona.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Hib.SearchForKnowledge.Init.Text2"); LetterToEpona.Id_nb = "letter_to_epona"; if (SAVE_INTO_DATABASE) GameServer.Database.AddObject(LetterToEpona); } #endregion defineItems Level = 1; QuestGiver = Blercyn; Rewards.Experience = 22; Rewards.MoneyPercent = 100; Rewards.AddBasicItem(RecruitsCloak); Rewards.ChoiceOf = 1; eponasletter = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Hib.SearchForKnowledge.Init.Text3"), QuestGoal.GoalType.ScoutMission, 1, LetterToEpona); }
private void Init() { // item db check - All my quests with Recruit newbie items make a seperate // item then the older quests. RecruitsQuiltedPants = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_quilted_pants"); if (RecruitsQuiltedPants == null) { RecruitsQuiltedPants = new ItemTemplate(); RecruitsQuiltedPants.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text1"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsQuiltedPants.Name + ", creating it ..."); } RecruitsQuiltedPants.Level = 5; RecruitsQuiltedPants.Weight = 20; RecruitsQuiltedPants.Model = 140; RecruitsQuiltedPants.Color = 28; RecruitsQuiltedPants.Object_Type = (int)eObjectType.Cloth; RecruitsQuiltedPants.Item_Type = (int)eEquipmentItems.LEGS; RecruitsQuiltedPants.Id_nb = "k109_recruits_quilted_pants"; RecruitsQuiltedPants.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsQuiltedPants.IsPickable = true; RecruitsQuiltedPants.IsDropable = false; // can't be sold to merchand RecruitsQuiltedPants.DPS_AF = 6; RecruitsQuiltedPants.SPD_ABS = 0; RecruitsQuiltedPants.Bonus1 = 20; RecruitsQuiltedPants.Bonus1Type = (int)eProperty.MaxHealth; RecruitsQuiltedPants.Bonus2 = 1; RecruitsQuiltedPants.Bonus2Type = (int)eProperty.Resist_Body; RecruitsQuiltedPants.Bonus3 = 1; RecruitsQuiltedPants.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsQuiltedPants.Bonus4 = 1; RecruitsQuiltedPants.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsQuiltedPants.Bonus5 = 1; RecruitsQuiltedPants.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsQuiltedPants.Bonus6 = 1; RecruitsQuiltedPants.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsQuiltedPants.Bonus7 = 1; RecruitsQuiltedPants.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsQuiltedPants.Quality = 100; RecruitsQuiltedPants.Condition = 50000; RecruitsQuiltedPants.MaxCondition = 50000; RecruitsQuiltedPants.Durability = 50000; RecruitsQuiltedPants.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsQuiltedPants); } RecruitsLeatherLeggings = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_leather_leggings"); if (RecruitsLeatherLeggings == null) { RecruitsLeatherLeggings = new ItemTemplate(); RecruitsLeatherLeggings.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text2"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsLeatherLeggings.Name + ", creating it ..."); } RecruitsLeatherLeggings.Level = 5; RecruitsLeatherLeggings.Weight = 40; RecruitsLeatherLeggings.Model = 32; RecruitsLeatherLeggings.Color = 11; RecruitsLeatherLeggings.Object_Type = (int)eObjectType.Leather; RecruitsLeatherLeggings.Item_Type = (int)eEquipmentItems.LEGS; RecruitsLeatherLeggings.Id_nb = "k109_recruits_leather_leggings"; RecruitsLeatherLeggings.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsLeatherLeggings.IsPickable = true; RecruitsLeatherLeggings.IsDropable = false; // can't be sold to merchand RecruitsLeatherLeggings.DPS_AF = 12; RecruitsLeatherLeggings.SPD_ABS = 10; RecruitsLeatherLeggings.Bonus1 = 20; RecruitsLeatherLeggings.Bonus1Type = (int)eProperty.MaxHealth; RecruitsLeatherLeggings.Bonus2 = 1; RecruitsLeatherLeggings.Bonus2Type = (int)eProperty.Resist_Body; RecruitsLeatherLeggings.Bonus3 = 1; RecruitsLeatherLeggings.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsLeatherLeggings.Bonus4 = 1; RecruitsLeatherLeggings.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsLeatherLeggings.Bonus5 = 1; RecruitsLeatherLeggings.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsLeatherLeggings.Bonus6 = 1; RecruitsLeatherLeggings.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsLeatherLeggings.Bonus7 = 1; RecruitsLeatherLeggings.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsLeatherLeggings.Quality = 100; RecruitsLeatherLeggings.Condition = 50000; RecruitsLeatherLeggings.MaxCondition = 50000; RecruitsLeatherLeggings.Durability = 50000; RecruitsLeatherLeggings.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsLeatherLeggings); } RecruitsStuddedLegs = GameServer.Database.FindObjectByKey <ItemTemplate>("k109_recruits_studded_legs"); if (RecruitsStuddedLegs == null) { RecruitsStuddedLegs = new ItemTemplate(); RecruitsStuddedLegs.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text3"); if (log.IsWarnEnabled) { log.Warn("Could not find " + RecruitsStuddedLegs.Name + ", creating it ..."); } RecruitsStuddedLegs.Level = 5; RecruitsStuddedLegs.Weight = 60; RecruitsStuddedLegs.Model = 82; RecruitsStuddedLegs.Color = 11; RecruitsStuddedLegs.Object_Type = (int)eObjectType.Studded; RecruitsStuddedLegs.Item_Type = (int)eEquipmentItems.LEGS; RecruitsStuddedLegs.Id_nb = "k109_recruits_studded_legs"; RecruitsStuddedLegs.Price = Money.GetMoney(0, 0, 0, 0, 40); RecruitsStuddedLegs.IsPickable = true; RecruitsStuddedLegs.IsDropable = false; // can't be sold to merchand RecruitsStuddedLegs.DPS_AF = 12; RecruitsStuddedLegs.SPD_ABS = 19; RecruitsStuddedLegs.Bonus1 = 20; RecruitsStuddedLegs.Bonus1Type = (int)eProperty.MaxHealth; RecruitsStuddedLegs.Bonus2 = 1; RecruitsStuddedLegs.Bonus2Type = (int)eProperty.Resist_Body; RecruitsStuddedLegs.Bonus3 = 1; RecruitsStuddedLegs.Bonus3Type = (int)eProperty.Resist_Cold; RecruitsStuddedLegs.Bonus4 = 1; RecruitsStuddedLegs.Bonus4Type = (int)eProperty.Resist_Energy; RecruitsStuddedLegs.Bonus5 = 1; RecruitsStuddedLegs.Bonus5Type = (int)eProperty.Resist_Heat; RecruitsStuddedLegs.Bonus6 = 1; RecruitsStuddedLegs.Bonus6Type = (int)eProperty.Resist_Matter; RecruitsStuddedLegs.Bonus7 = 1; RecruitsStuddedLegs.Bonus7Type = (int)eProperty.Resist_Spirit; RecruitsStuddedLegs.Quality = 100; RecruitsStuddedLegs.Condition = 50000; RecruitsStuddedLegs.MaxCondition = 50000; RecruitsStuddedLegs.Durability = 50000; RecruitsStuddedLegs.MaxDurability = 50000; // You don't have to store the created item in the db if you don't want, // it will be recreated each time it is not found, just comment the following // line if you rather not modify your database GameServer.Database.AddObject(RecruitsStuddedLegs); } ItemTemplate spriggarnBlood = new ItemTemplate(); spriggarnBlood.Weight = 0; spriggarnBlood.Condition = 50000; spriggarnBlood.MaxCondition = 50000; spriggarnBlood.Model = 99; spriggarnBlood.Extension = 1; spriggarnBlood.Name = LanguageMgr.GetTranslation(ServerProperties.Properties.DB_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text4"); Level = 1; QuestGiver = MasterKless; Rewards.Experience = 270; Rewards.MoneyPercent = 50; Rewards.AddOptionalItem(RecruitsQuiltedPants); Rewards.AddOptionalItem(RecruitsLeatherLeggings); Rewards.AddOptionalItem(RecruitsStuddedLegs); Rewards.ChoiceOf = 1; spriggarnsKilled = AddGoal(LanguageMgr.GetTranslation(ServerProperties.Properties.SERV_LANGUAGE, "Alb.WhenBloodSpeaks.Init.Text5"), QuestGoal.GoalType.KillTask, 2, spriggarnBlood); }