Jump to content

OgreLXXV

Members
  • Content Count

    16
  • Joined

  • Last visited

Community Reputation

2 Neutral

About OgreLXXV

  • Rank
    Refugee
  • Birthday 10/04/1971

Personal Information

  • Location
    Minneapolis, MN, USA
  1. Not sure if anyone is interested, but pretty sure I have this figured out. I'll show using Clubs. Note that I've changed the nomenclature for items and perks to something that makes more logical sense to me, but the logic still applies regardless. First, you add a custom tag to the recipe for each item, so you have a tag for both the perk and the item, along with any other tags you need. In this case I have learnable for the items that are unlocked in one way or another. <recipe name="meleeClubT0" count="1" tags="perkClubs,meleeClubT0"> <ingredient name="resourceWood" count="5"/> </recipe> <recipe name="meleeClubT1" count="1" tags="learnable,perkClubs,meleeClubT1"> <ingredient name="resourceForgedIron" count="5"/> </recipe> <recipe name="meleeClubT2" count="1" tags="learnable,perkClubs,meleeClubT2"> <ingredient name="resourceForgedSteel" count="5"/> </recipe> <recipe name="meleeClubT3" count="1" tags="learnable,perkClubs,meleeClubT3"> <ingredient name="resourceForgedIron" count="5"/> <ingredient name="resourceForgedSteel" count="5"/> <ingredient name="meleeClubT2" count="1"/> </recipe> Then in your progression.xml, you simply add a separate passive effect for each item and define the values there. For example: <effect_group> <passive_effect name="CraftingTier" operation="base_add" level="1,5" value="0" tags="meleeClubT0"/> <passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="0,1,2,2,2" tags="meleeClubT1"/> <passive_effect name="CraftingTier" operation="base_add" level="3,4,5" value="2,3,4" tags="meleeClubT2"/> <passive_effect name="CraftingTier" operation="base_add" level="5" value="5" tags="meleeClubT3"/> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="1,5" value="1" tags="meleeClubT1"/> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="3,5" value="1" tags="meleeClubT2"/> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="5,5" value="1" tags="meleeClubT3"/> <passive_effect name="BlockDamage" operation="perc_add" level="1,5" value=".2,1" tags="perkClubs"/> <passive_effect name="EntityDamage" operation="perc_add" level="1,5" value=".1,.5" tags="perkClubs"/> <passive_effect name="EntityDamage" operation="perc_add" level="1,5" value="0.4,2" tags="perkClubs"> <requirement name="CVarCompare" cvar="_stunned" operation="Equals" value="1" target="other"/> </passive_effect> </effect_group> The net result of this is that T0 clubs are always Quality 1 (base + 0). T1 clubs are Q1 at perkClubs rank 1 (base +0), Q2 at perkClubs rank 2 (base + 1), and then cap out at Q3 for perkClubs rank 3 and above (base + 2). The T2 club, which you can't make until perkClubs rank 3, starts at Quality 3 (base + 2) and moves up with perkClubs rank to a max of Q5 at rank 5. The T3 club can only be crafted at max perkClubs rank 5 and will always be a Q6 item (base +5). Hope others find this useful. I really like the idea of primitive weapons and tools always being quality 1, and others items having minimum or maximum quality based on their tier. Now to take care of looted items...
  2. My mod is coming right along. Crazy how much knowledge I've gained in the last few weeks just diving in and doing it. I would like to set both minimum and maximum quality caps on items. In my mod it will be by Tier (i.e. a T0 item could only be Q1-3, T1 could be Q2-4, etc) but I believe I would have to set it by individual item. I should be able to control looted items with the quality templates in the loot.xml, but not sure on crafted items. I know I can adjust crafting quality based on perk ranks, but that affects all items created with that perk. Any ideas on this? Thanks!
  3. What does the value="1" portion refer to?
  4. This may be a silly question, but in progression.xml, what does the "value" represent in the "RecipeTagUnlocked" passive_effect lines? All the others make sense, but I can't figure out what it does for this effect.
  5. That's a good idea. I was thinking it might be confusing down the line when I have it named one way in localization and another way in everything else, but now I'm seeing the time and hassle I can save going that route.
  6. Why do you need a completion type at all? If you simply remove the last objective (phase 4) the quest will complete after killing two screamers.
  7. Great tip! I haven't updated the items yet, and by commenting out the "remove" lines in progression, it loaded just fine. Tough to make changes like this that affect multiple files and still test along the way. Thanks again for the guidance.
  8. Here's what I have done in the progression.xml so far. I have tried to comment out sections and just run bits at a time, but it still gives me the same error. The general idea of these changes is to replace the Perception attribute with Dexterity. I am also restructuring perks so that each attribute has a melee and a ranges combat, then some number of crafting and talent perks. I am starting to think that this idea is better off as a full overhaul than a series of modlets, since I'm spending 75% of my time trying to get the changes made via xPath rather than installing the content that I want. Thank you in advance for the assistance. <!-- - Replaced Perception attribute with Dexterity (10/17/2020) - Created generic Combat, Crafting, and Talent skills (10/18/2020) - Created perks for Dexterity: Blades, Long Rifles (10/18/2020) --> <config> <!-- Attributes --> <insertBefore xpath="/progression/attributes/attribute[@name='attIntellect']"> <attribute name="attDexterity" name_key="attDexterityName" desc_key="attDexterityDesc" icon="ui_game_symbol_stealth"> <level_requirements level="1"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements> <level_requirements level="2"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements> <level_requirements level="3"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements> <level_requirements level="4"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements> <level_requirements level="5"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints01"/></level_requirements> <level_requirements level="6"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints02"/></level_requirements> <level_requirements level="7"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints02"/></level_requirements> <level_requirements level="8"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints02"/></level_requirements> <level_requirements level="9"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints03"/></level_requirements> <level_requirements level="10"><requirement name="PlayerLevel" operation="GTE" value="1" desc_key="reqGenericPoints04"/></level_requirements> <effect_group> <requirement name="ItemHasTags" tags="attDexterity"/> <passive_effect name="DamageModifier" operation="perc_add" level="2,8" value="0.1,.7" tags="head"/> <passive_effect name="DamageModifier" operation="perc_add" level="9,10" value=".85,1" tags="head"/> <passive_effect name="DismemberChance" operation="base_add" level="2,10" value=".05,.45"/> <effect_description level="1" desc_key="attDexterityRank01Desc" long_desc_key="attDexterityRank01LongDesc"/> <effect_description level="2" desc_key="attDexterityRank02Desc" long_desc_key="attDexterityRank02LongDesc"/> <effect_description level="3" desc_key="attDexterityRank03Desc" long_desc_key="attDexterityRank03LongDesc"/> <effect_description level="4" desc_key="attDexterityRank04Desc" long_desc_key="attDexterityRank04LongDesc"/> <effect_description level="5" desc_key="attDexterityRank05Desc" long_desc_key="attDexterityRank05LongDesc"/> <effect_description level="6" desc_key="attDexterityRank06Desc" long_desc_key="attDexterityRank06LongDesc"/> <effect_description level="7" desc_key="attDexterityRank07Desc" long_desc_key="attDexterityRank07LongDesc"/> <effect_description level="8" desc_key="attDexterityRank08Desc" long_desc_key="attDexterityRank08LongDesc"/> <effect_description level="9" desc_key="attDexterityRank09Desc" long_desc_key="attDexterityRank09LongDesc"/> <effect_description level="10" desc_key="attDexterityRank10Desc" long_desc_key="attDexterityRank10LongDesc"/> </effect_group> </attribute> </insertBefore> <remove xpath="/progression/attributes/attribute[@name='attPerception']"/> <!-- Skills --> <remove xpath="/progression/skills/skill[@name='skillPerceptionCombat']"/> <remove xpath="/progression/skills/skill[@name='skillPerceptionGeneral']"/> <remove xpath="/progression/skills/skill[@name='skillPerceptionScavenging']"/> <append xpath="/progression/skills"> <skill name="skillDexterityCombat" parent="attDexterity" name_key="skillCombatPerksName" desc_key="skillCombatPerksDesc" icon="ui_game_symbol_marksmanship"></skill> <skill name="skillDexterityCrafting" parent="attDexterity" name_key="skillCraftingPerksName" desc_key="skillCraftingPerksDesc" icon="ui_game_symbol_misc_crafting"></skill> <skill name="skillDexterityTalent" parent="attDexterity" name_key="skillTalentPerksName" desc_key="skillTalentPerksDesc" icon="ui_game_symbol_hand"></skill> </append> <!-- <append xpath="/progression/skills"> <skill name="skillStrengthCombat" parent="attStrength" name_key="skillCombatPerksName" desc_key="skillCombatPerksDesc" icon="ui_game_symbol_marksmanship"></skill> <skill name="skillStrengthCrafting" parent="attStrength" name_key="skillCraftingPerksName" desc_key="skillCraftingPerkDesc" icon="ui_game_symbol_misc_crafting"></skill> <skill name="skillStrengthTalent" parent="attStrength" name_key="skillTalentPerksName" desc_key="skillTalentPerkDesc" icon="ui_game_symbol_resource"></skill> </append> <append xpath="/progression/skills"> <skill name="skillFortitudeCombat" parent="attFortitude" name_key="skillCombatPerksName" desc_key="skillCombatPerksDesc" icon="ui_game_symbol_marksmanship"></skill> <skill name="skillFortitudeCrafting" parent="attFortitude" name_key="skillCraftingPerksName" desc_key="skillCraftingPerkDesc" icon="ui_game_symbol_misc_crafting"></skill> <skill name="skillFortitudeTalent" parent="attFortitude" name_key="skillTalentPerksName" desc_key="skillTalentPerkDesc" icon="ui_game_symbol_water"></skill> </append> <append xpath="/progression/skills"> <skill name="skillAgilityCombat" parent="attAgility" name_key="skillCombatPerksName" desc_key="skillCombatPerksDesc" icon="ui_game_symbol_marksmanship"></skill> <skill name="skillAgilityCrafting" parent="attAgility" name_key="skillCraftingPerksName" desc_key="skillCraftingPerkDesc" icon="ui_game_symbol_misc_crafting"></skill> <skill name="skillAgilityTalent" parent="attAgility" name_key="skillTalentPerksName" desc_key="skillTalentPerkDesc" icon="ui_game_symbol_stealth2"></skill> </append> <append xpath="/progression/skills"> <skill name="skillIntellectCombat" parent="attIntellect" name_key="skillCombatPerksName" desc_key="skillCombatPerksDesc" icon="ui_game_symbol_marksmanship"></skill> <skill name="skillIntellectCrafting" parent="attIntellect" name_key="skillCraftingPerksName" desc_key="skillCraftingPerkDesc" icon="ui_game_symbol_misc_crafting"></skill> <skill name="skillIntellectTalent" parent="attIntellect" name_key="skillTalentPerksName" desc_key="skillTalentPerkDesc" icon="ui_game_symbol_misc_crafting"></skill> </append> --> <!-- Perks --> <remove xpath="/progression/perks/perk[@name='perkDeadEye']"/> <remove xpath="/progression/perks/perk[@name='perkDemolitionsExpert']"/> <remove xpath="/progression/perks/perk[@name='perkJavelinMaster']"/> <append xpath="/progression/perks"> <perk name="perkBlades" parent="skillDexterityCombat" name_key="perkBladesName" desc_key="perkBladesDesc" icon="ui_game_symbol_deep_cuts"> <level_requirements level="1"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="1" desc_key="reqDexterityLevel01"/></level_requirements> <level_requirements level="2"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="3" desc_key="reqDexterityLevel03"/></level_requirements> <level_requirements level="3"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="5" desc_key="reqDexterityLevel05"/></level_requirements> <level_requirements level="4"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="7" desc_key="reqDexterityLevel07"/></level_requirements> <level_requirements level="5"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="10" desc_key="reqDexterityLevel10"/></level_requirements> <effect_group> <passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,3,4,4" tags="perkBlades"/> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="1,5" value="1" tags="meleeWpnBladeT1HuntingKnife"/> <passive_effect name="BlockDamage" operation="perc_add" level="1,5" value=".2,1" tags="perkBlades"/> <passive_effect name="EntityDamage" operation="perc_add" level="1,5" value=".1,.5" tags="perkBlades"/> <effect_description level="1" desc_key="perkBladesRank1Desc" long_desc_key="perkBladesRank1LongDesc"/> <effect_description level="2" desc_key="perkBladesRank2Desc" long_desc_key="perkBladesRank2LongDesc"/> <effect_description level="3" desc_key="perkBladesRank3Desc" long_desc_key="perkBladesRank3LongDesc"/> <effect_description level="4" desc_key="perkBladesRank4Desc" long_desc_key="perkBladesRank4LongDesc"/> <effect_description level="5" desc_key="perkBladesRank5Desc" long_desc_key="perkBladesRank5LongDesc"/> </effect_group> <effect_group name="primary, always"> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="@$maxBleedCounter" target="other"/> <requirement name="ItemHasTags" tags="perkBlades"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> </effect_group> <effect_group> <!-- all attacks refresh / extend bleeding even if no stacks can be added --> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="GT" value="0" target="other"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> </effect_group> <effect_group name="Secondary"> <requirement name="ItemHasTags" tags="perkBlades"/> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="2"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="0"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="3"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="1"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="Equals" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="2"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="1"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="4"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="2"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="GTE" value="1" target="other"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="4" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="3"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="2"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="5"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="3"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="GTE" value="1" target="other"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="5" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="4"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="3"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="6"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="4"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="GTE" value="2" target="other"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="6" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="4"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="4"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="set" value="7"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="5"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="GTE" value="2" target="other"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="7" target="other"/> </triggered_effect> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="5"> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="5"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="2" target="other"/> </triggered_effect> </effect_group> <effect_group> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="GTE" value="1"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="LT" value="3"/> <requirement name="CVarCompare" cvar="$bleedSlowdown" operation="GT" value="-.1" target="other"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.1"/> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.1"/> </effect_group> <effect_group> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="GTE" value="3"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="LT" value="5"/> <requirement name="CVarCompare" cvar="$bleedSlowdown" operation="GT" value="-.15" target="other"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.15"/> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.15"/> </effect_group> <effect_group> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="5"/> <requirement name="CVarCompare" cvar="$bleedSlowdown" operation="GT" value="-.2" target="other"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.2"/> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="ModifyCVar" target="other" cvar="$bleedSlowdown" operation="set" value="-.2"/> </effect_group> <effect_group name="grazing hits T3"> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="3"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="5" target="other"/> <requirement name="RandomRoll" seed_type="Random" min_max="0,100" operation="LTE" value="40"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> </effect_group> <effect_group name="grazing hits T4"> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="4"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="6" target="other"/> <requirement name="RandomRoll" seed_type="Random" min_max="0,100" operation="LTE" value="70"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> </effect_group> <effect_group name="grazing hits T5"> <requirement name="ItemHasTags" tags="perkBlades"/> <requirement name="ProgressionLevel" progression_name="perkBlades" operation="Equals" value="5"/> <requirement name="CVarCompare" cvar="bleedCounter" operation="LT" value="7" target="other"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="ModifyCVar" target="other" cvar="bleedCounter" operation="add" value="1"/> <triggered_effect trigger="onSelfPrimaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> <triggered_effect trigger="onSelfSecondaryActionGrazeHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> </effect_group> <effect_group> <requirement name="ItemHasTags" tags="perkBlades"/> <triggered_effect trigger="onSelfPrimaryActionRayHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> <triggered_effect trigger="onSelfSecondaryActionRayHit" action="AddBuff" target="other" buff="buffInjuryBleeding"/> </effect_group> </perk> <perk name="perkLongRifles" parent="skillDexterityCombat" name_key="perkLongRiflesName" desc_key="perkLongRiflesDesc" icon="ui_game_symbol_map_cursor"> <level_requirements level="1"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="1" desc_key="reqDexterityLevel01"/></level_requirements> <level_requirements level="2"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="3" desc_key="reqDexterityLevel03"/></level_requirements> <level_requirements level="3"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="5" desc_key="reqDexterityLevel05"/></level_requirements> <level_requirements level="4"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="7" desc_key="reqDexterityLevel07"/></level_requirements> <level_requirements level="5"><requirement name="ProgressionLevel" progression_name="attDexterity" operation="GTE" value="10" desc_key="reqDexterityLevel10"/></level_requirements> <effect_group> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="1,5" value="1" tags="gunLongRifleT1BoltActionRifle"/> <passive_effect name="RecipeTagUnlocked" operation="base_set" level="3,5" value="1" tags="gunLongRifleT2M1Garand"/> <passive_effect name="CraftingTier" operation="base_add" level="1,2,3,4,5" value="1,2,3,4,4" tags="perkLongRifles"/> <passive_effect name="EntityDamage" operation="perc_add" level="1,5" value=".1,.5" tags="perkLongRifles"/> <passive_effect name="WeaponHandling" operation="perc_add" level="1,2,3,4,5" value=".1,.2,.32,.45,.60" tags="perkLongRifles"/> <passive_effect name="ReloadSpeedMultiplier" operation="perc_add" level="1,5" value="0.1,0.3" tags="perkLongRifles"/> </effect_group> <effect_group> <requirement name="ItemHasTags" tags="perkLongRifles"/> <requirement name="ProgressionLevel" progression_name="perkLongRifles" operation="GTE" value="3"/> <triggered_effect trigger="onSelfKilledOther" action="AddBuff" buff="buffLongRifles"/> <effect_description level="1" desc_key="perkLongRiflesRank1Desc" long_desc_key="perkLongRiflesRank1LongDesc" desc_base="Non localized modder descriptions go here"/> <effect_description level="2" desc_key="perkLongRiflesRank2Desc" long_desc_key="perkLongRiflesRank2LongDesc"/> <effect_description level="3" desc_key="perkLongRiflesRank3Desc" long_desc_key="perkLongRiflesRank3LongDesc"/> <effect_description level="4" desc_key="perkLongRiflesRank4Desc" long_desc_key="perkLongRiflesRank4LongDesc"/> <effect_description level="5" desc_key="perkLongRiflesRank5Desc" long_desc_key="perkLongRiflesRank5LongDesc"/> </effect_group> </perk> </append> </config>
  9. I'm getting an error when loading my progression.xml that says "The given key was not present in the dictionary." Am I correct to assume that "dictionary" refers to the Localization.txt file? I can't find a key that's in my progression.xml that isn't also in my localization.txt, but then again maybe it is referencing a different file altogether. My question is, how do I identify what key is missing from what file, if it isn't just the localization?
  10. FYI, after playing with this I realized that it was selecting effectively all quests, since it appears they all use the category_key of "challenge" with just a few exceptions. My goal was to change the Challenge Quests to award better experience, tiered by difficulty, but also remove any other rewards for them. This is a small part of my overall mod vision, but a huge step forward in my understanding of how to make it happen. Using the example provided and the clear breakdown of what it means, I was able to modify the code to accomplish exactly what I wanted. <set xpath="/quests/quest[contains(@id,'challenge')]/property[@name='difficulty'][@value='easy']/../reward[@type='Exp']/@value">1000</set> <set xpath="/quests/quest[contains(@id,'challenge')]/property[@name='difficulty'][@value='medium']/../reward[@type='Exp']/@value">2500</set> <set xpath="/quests/quest[contains(@id,'challenge')]/property[@name='difficulty'][@value='hard']/../reward[@type='Exp']/@value">10000</set> <set xpath="/quests/quest[contains(@id,'challenge')]/property[@name='difficulty'][@value='insane']/../reward[@type='Exp']/@value">25000</set> <remove xpath="/quests/quest[contains(@id,'challenge')]/reward[@type='Item']"></remove> Once again, thank you for the help on this. I now have a much greater understanding of how xPath operates within a node.
  11. This is fantastic, thank you! Seeing how you did it helps me to understand where I was going wrong. Since it's all new to me, I'm learning both the concept and the proper syntax, so we're killing both birds with this stone. I believe that the roadblock I kept hitting was backup up to the parent after using the category_key and difficulty properties to identify the correct quests. This is immensely helpful, thanks again.
  12. I honestly feel like I'm being trolled at this point. But just in case I am completely misunderstanding the tone and this is not in fact a condescending attempt to educate my poor little child brain on how to learn a new skill, I will ask my original question in another way. How do I use xpath to change the quest reward for all Hard difficulty Challenges to award Exp in the amount of 10,000 and nothing else? More generically how do I change specific values for a group of quests, such as Hard Challenges, but not for all quests or even all Challenges or Hard quests? It's easy enough to simply remove the entire quest node and replace it with a new one that has my reward changes, but I am trying to do this the "proper" way and change the specific values. I am having a hard time finding any good examples of how to identify a specific element within a defined group of nodes. I assume I need to use the AND operator on multiple levels, but the structure doesn't make sense with what I am trying to do, since the identifying properties are on the same relationship level. I am looking for nodes that have specific sibling property values, then changing other sibling values, rather than values with a parent/child relationship. Seeing the code itself, how would someone who knows what they are doing write it, gives me a visual aid that I can then first dissect and then adapt to use in similar ways. So I am asking for the actual code, not a suggestion on how to learn xpath. Again, if this is not an appropriate question, or if I am in the wrong place, then I apologize. My assumption was that the Suggestions and Requests subforum under Modding would be the right place to ask. As the only response I seem to be getting is to go figure it out on my own (see: git gud) I am getting the impression that my original assumption was woefully inaccurate.
  13. Thank you? I appreciate that this is complicated, and as I mentioned in the OP, I felt that learning by doing would be the best way to get my head wrapped around it. I have read through the guide you linked of course, as well as others and watched a few videos. I am starting from scratch, but the challenge is the fun part and makes success all the more rewarding to me. Unfortunately while I can see a few commands that would apply in the guides, I don't see a good example of how to apply them in the way I am trying to. What I was hoping to get here would be a suggestion as to how I could proceed. As you said, learn by example. Seeing an example then allows me to use and adapt it later. Instead what I am hearing is, "That's hard. Good luck." I have been playing 7dtd for several years, but just created a forum account a few days ago as I have begun this trek toward making my own mod. If asking such ridiculous questions as "can any one help me understand" is not what these forums are for, I apologize for my ignorance and will look elsewhere for assistance in my learning process.
  14. I'm trying to change the quest rewards for all Challenges so they award only XP, but significantly more and based on difficulty. I know I could simply remove the quests and replace them with copies that have different rewards, but as I am working on my first mod this seems like an opportunity to learn how to "do it right" from the beginning. My thought is that I should be able to do a conditional xPath for each of the difficulties, then use it to delete the rewards I don't want and change the Exp values to what I do want. For example I would find any node for a quest where the category_key="challenge" and the difficulty="hard", then find the reward where type="Exp" and change the value to 10000 or something. I should then be able to, in that same node, remove reward type="item" so that no Dukes are awarded. However, I am having a hard time figuring out the proper syntax. The AND to identify the correct nodes combined with trying to change a specific value in that node is too much for my rookie XML brain to wrap around. Here is what I have tried, but I know it isn't right. Any help would be greatly appreciated. <set xpath="/quests/quest/property[@category_key='challenge'] and /quests/quest/property[@difficulty='hard']@reward type='Exp' @value='10000'" />
  15. Found the issue. Turned out I had a recipe that referenced a material that didn't exist, which had a cascading effect of not having anything to scrap to.
×
×
  • Create New...