// ----------------------------------------------------------------------------------- // Use // ----------------------------------------------------------------------------------- public override void Use(Player player, int inventoryIndex) { ItemSlot slot = player.inventory[inventoryIndex]; // -- Only activate if enough charges left if (decreaseAmount == 0 || slot.amount >= decreaseAmount) { // always call base function too base.Use(player, inventoryIndex); if (!player.UCE_HasCraftingProfession(learnProfession)) { UCE_CraftingProfession tmpProf = new UCE_CraftingProfession(learnProfession.name); tmpProf.experience = gainProfessionExp; player.UCE_Crafts.Add(tmpProf); player.UCE_ShowPopup(learnProfessionText + learnProfession.name); } else { UCE_CraftingProfession tmpProf = player.UCE_getCraftingProfession(learnProfession); tmpProf.experience += gainProfessionExp; player.UCE_setCraftingProfession(tmpProf); player.UCE_TargetAddMessage(gainProfessionExp.ToString() + expProfessionTxt); } slot.DecreaseAmount(decreaseAmount); player.inventory[inventoryIndex] = slot; } }
private void CharacterLoad_UCE_Crafting(Player player) { #if _MYSQL && _SERVER var table = ExecuteReaderMySql("SELECT profession, experience FROM character_crafts WHERE `character`=@character", new MySqlParameter("@character", player.name)); foreach (var row in table) { UCE_CraftingProfession profession = new UCE_CraftingProfession((string)row[0]); profession.experience = (long)row[1]; player.UCE_Crafts.Add(profession); } var table2 = ExecuteReaderMySql("SELECT recipe FROM character_recipes WHERE `character`=@name", new MySqlParameter("@name", player.name)); foreach (var row in table2) { player.UCE_recipes.Add((string)row[0]); } #elif _SQLITE && _SERVER var table = connection.Query <character_crafts>("SELECT profession, experience FROM character_crafts WHERE character=?", player.name); foreach (var row in table) { UCE_CraftingProfession profession = new UCE_CraftingProfession(row.profession); profession.experience = row.experience; player.UCE_Crafts.Add(profession); } var table2 = connection.Query <character_recipes>("SELECT recipe FROM character_recipes WHERE character=?", player.name); foreach (var row in table2) { player.UCE_recipes.Add(row.recipe); } #endif }
// ----------------------------------------------------------------------------------- // Show // ----------------------------------------------------------------------------------- public void Show(UCE_CraftingProfession p) { float value = 0; string lvl = " [L" + p.level.ToString() + "/" + p.maxlevel.ToString() + "]"; value = p.experiencePercent; nameText.text = p.template.name + lvl; professionIcon.sprite = p.template.image; expSlider.value = value; tooltip.enabled = true; tooltip.text = ToolTip(p.template); }
private void CharacterLoad_UCE_Crafting(Player player) { var table = connection.Query <character_crafts>( "SELECT profession, experience FROM character_crafts WHERE character = ?", player.name); foreach (var row in table) { UCE_CraftingProfession profession = new UCE_CraftingProfession(row.profession); profession.experience = row.experience; player.UCE_Crafts.Add(profession); } var table2 = connection.Query <character_recipes>("SELECT recipe FROM character_recipes WHERE `character` = ?", player.name); foreach (var row in table2) { player.UCE_recipes.Add(row.recipe); } }
private void OnServerCharacterCreate_UCE_Crafting(CharacterCreateMsg message, Player player) { // -- check starting craft professions foreach (UCE_DefaultCraftingProfession craft in player.startingCrafts) { if (!player.UCE_HasCraftingProfession(craft.craftProfession)) { UCE_CraftingProfession tmpProf = new UCE_CraftingProfession(craft.craftProfession.name); tmpProf.experience = craft.startingExp; player.UCE_Crafts.Add(tmpProf); } } // -- check starting recipes foreach (UCE_Tmpl_Recipe recipe in player.startingRecipes) { if (!player.UCE_recipes.Any(r => r == recipe.name)) { player.UCE_recipes.Add(recipe.name); } } }
// ----------------------------------------------------------------------------------- // UCE_setCraftingProfession // ----------------------------------------------------------------------------------- public void UCE_setCraftingProfession(UCE_CraftingProfession aProf) { int id = UCE_Crafts.FindIndex(pr => pr.templateName == aProf.template.name); UCE_Crafts[id] = aProf; }
// ----------------------------------------------------------------------------------- // UCE_getCraftingExp // ----------------------------------------------------------------------------------- public long UCE_getCraftingExp(UCE_CraftingProfession aProf) { int id = UCE_Crafts.FindIndex(prof => prof.templateName == aProf.templateName); return(UCE_Crafts[id].experience); }
private void OnServerCharacterCreate_UCE_Traits(CharacterCreateMsg netMsg, Player player) { if (netMsg == null || netMsg.traits == null || netMsg.traits.Length == 0) return; foreach (int traitId in netMsg.traits) { if (traitId != 0) { UCE_TraitTemplate trait; if (UCE_TraitTemplate.dict.TryGetValue(traitId, out trait)) { player.UCE_Traits.Add(new UCE_Trait(trait)); #if _iMMOATTRIBUTES foreach (UCE_AttributeTemplate template in player.playerAttributes.UCE_AttributeTypes) { if (template == null) continue; UCE_Attribute attr = new UCE_Attribute(template); player.playerAttributes.UCE_Attributes.Add(attr); } #endif // ---------------------------------------------------------------------- foreach (UCE_SkillRequirement startSkill in trait.startingSkills) { for (int i = 0; i < player.skills.skills.Count; ++i) { if (player.skills.skills[i].data == startSkill.skill) { Skill skill = player.skills.skills[i]; skill.level += startSkill.level; player.skills.skills[i] = skill; } } } // ---------------------------------------------------------------------- foreach (UCE_ItemModifier startItem in trait.startingItems) { player.inventory.Add(new Item(startItem.item), startItem.amount); } #if _iMMOPRESTIGECLASSES if (trait.startingPrestigeClass != null) player.UCE_prestigeClass = trait.startingPrestigeClass; #endif #if _iMMOHONORSHOP foreach (UCE_HonorShopCurrencyCost currency in trait.startingHonorCurrency) player.UCE_AddHonorCurrency(currency.honorCurrency, currency.amount); #endif #if _iMMOFACTIONS foreach (UCE_FactionRating faction in trait.startingFactions) player.UCE_AddFactionRating(faction.faction, faction.startRating); #endif #if _iMMOCRAFTING foreach (UCE_CraftingProfessionRequirement prof in trait.startingCraftingProfession) { if (player.UCE_HasCraftingProfession(prof.template)) { var tmpProf = player.UCE_getCraftingProfession(prof.template); tmpProf.experience += prof.level; player.UCE_setCraftingProfession(tmpProf); } else { UCE_CraftingProfession tmpProf = new UCE_CraftingProfession(prof.template.name); tmpProf.experience += prof.level; player.UCE_Crafts.Add(tmpProf); } } #endif #if _iMMOHARVESTING foreach (UCE_HarvestingProfessionRequirement prof in trait.startingHarvestingProfession) { if (player.HasHarvestingProfession(prof.template)) { var tmpProf = player.getHarvestingProfession(prof.template); tmpProf.experience += prof.level; player.SetHarvestingProfession(tmpProf); } else { UCE_HarvestingProfession tmpProf = new UCE_HarvestingProfession(prof.template.name); tmpProf.experience += prof.level; player.UCE_Professions.Add(tmpProf); } } #endif #if _iMMOPVP player.UCE_setRealm(trait.changeRealm, trait.changeAlliedRealm); #endif // ------------ Recalculate all Maxes here again (in case of bonusses) player.health.current = player.health.max; player.mana.current = player.mana.max; #if _iMMOSTAMINA player.stamina = player.staminaMax; #endif // ---------------------------------------------------------------------- } } } }