Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
    /// <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>");
 }
Esempio n. 5
0
    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;
            }
        }
    }
Esempio n. 6
0
 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;
 }
Esempio n. 7
0
 /// <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;
 }
Esempio n. 8
0
 /// <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");
     }
 }
Esempio n. 9
0
 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;
 }
Esempio n. 10
0
        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);
        }
Esempio n. 11
0
    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.
        }
    }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
 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());
 }
Esempio n. 18
0
 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());
 }
Esempio n. 20
0
    /// <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);
            }
        }
    }
Esempio n. 21
0
 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());
 }
Esempio n. 22
0
        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);
        }
Esempio n. 23
0
        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);
        }
Esempio n. 24
0
        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);
        }
Esempio n. 25
0
 /// <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;
 }
Esempio n. 26
0
        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);
        }
Esempio n. 27
0
        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);
        }
Esempio n. 28
0
        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);
        }
Esempio n. 29
0
        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);
        }
Esempio n. 30
0
        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);
        }
Esempio n. 31
0
        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);
        }
Esempio n. 32
0
        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);
        }
Esempio n. 33
0
        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);
        }
Esempio n. 34
0
        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);
        }
Esempio n. 35
0
        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);
        }
Esempio n. 36
0
        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);
        }
Esempio n. 38
0
        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);
        }
Esempio n. 39
0
        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);
        }
Esempio n. 40
0
    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);
    }
Esempio n. 41
0
 private void SetupProperties()
 {
     State = QuestState.Unavailable;
     Goal = new QuestGoal();
     Prize = new QuestPrize();
 }
Esempio n. 42
0
        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);
        }
Esempio n. 43
0
        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);
        }
Esempio n. 45
0
        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);
        }