Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SDO = {
- description = "SDO"
- }
- function SDO:new()
- --[[ if Disable_Recoil_Recovery then
- TweakDB:SetFlat("Items.Base_Weapon_inline10.statType", "BaseStats.RecoilRecoveryTime")
- TweakDB:SetFlat("Items.Base_Weapon_inline10.value", 9999)
- TweakDB:SetFlat("Items.Base_Weapon_inline11.modifierType", "Multiplier")
- TweakDB:SetFlat("Items.Base_Weapon_inline11.statType", "BaseStats.RecoilRecoveryMinSpeed")
- else
- TweakDB:SetFlat("Items.Base_Weapon_inline10.statType", "BaseStats.ReloadTime")
- TweakDB:SetFlat("Items.Base_Weapon_inline10.value", 0)
- TweakDB:SetFlat("Items.Base_Weapon_inline11.modifierType", "Additive")
- TweakDB:SetFlat("Items.Base_Weapon_inline11.statType", "BaseStats.ReloadTimeBase")
- end
- --Removing shooting delay
- Shooting_Types = {"Burst", "Machinegun", "FullAuto", "FullAutoSmart", "FullAutoPistol", "SemiAuto", "ShotgunPistol", "Shotgun"}
- for i, v in ipairs(Shooting_Types) do
- for a=1, 5 do
- for b = 0, 20 do
- if No_Shooting_Delay then
- if TweakDB:GetFlat("ShootingPatterns.Close_"..v.."ShootingPattern_"..a.."_inline"..b..".delay") then
- TweakDB:SetFlat("ShootingPatterns.Close_"..v.."ShootingPattern_"..a.."_inline"..b..".delay",0)
- end
- if TweakDB:GetFlat("ShootingPatterns.Long_"..v.."ShootingPattern_"..a.."_inline"..b..".delay") then
- TweakDB:SetFlat("ShootingPatterns.Long_"..v.."ShootingPattern_"..a.."_inline"..b..".delay", 0)
- end
- if TweakDB:GetFlat("ShootingPatterns.Medium_"..v.."ShootingPattern_"..a.."_inline"..b..".delay") then
- TweakDB:SetFlat("ShootingPatterns.Medium_"..v.."ShootingPattern_"..a.."_inline"..b..".delay",0)
- end
- end
- --TweakDB:SetFlat("ShootingPatterns.Close_"..v.."ShootingPattern_"..a.."_inline"..b..".delay", math.random()/3 + .3)
- --TweakDB:SetFlat("ShootingPatterns.Long_"..v.."ShootingPattern_"..a.."_inline"..b..".delay", math.random()/3 + .3)
- --TweakDB:SetFlat("ShootingPatterns.Medium_"..v.."ShootingPattern_"..a.."_inline"..b..".delay", math.random()/3 + .3)
- end
- end
- end ]]
- --[[ --Enemies aggro on silenced gunshot
- if Aggro_On_Silenced_Gunshot then
- TweakDB:SetFlat("ReactionPresets.Corpo_Aggressive_inline1.output", "ReactionOutput.Intruder")
- TweakDB:SetFlat("ReactionPresets.Corpo_Aggressive_inline1.workspotOutput", "Anger")
- TweakDB:SetFlat("ReactionPresets.Ganger_Aggressive_inline1.output", "ReactionOutput.Intruder")
- TweakDB:SetFlat("ReactionPresets.Ganger_Aggressive_inline1.workspotOutput", "Anger")
- TweakDB:SetFlat("ReactionPresets.Mechanical_Aggressive_inline1.output", "ReactionOutput.Intruder")
- TweakDB:SetFlat("ReactionPresets.Mechanical_Aggressive_inline1.workspotOutput", "Anger")
- TweakDB:SetFlat("ReactionPresets.Police_Aggressive_inline1.output", "ReactionOutput.Intruder")
- TweakDB:SetFlat("ReactionPresets.Police_Aggressive_inline1.workspotOutput", "Anger")
- end
- ]]
- --Powerful minibosses
- Miniboss_List = {"ma_bls_ina_se1_17_outpost_miniboss",
- "ma_bls_se5_07_outpost_miniboss",
- "ma_hey_gle_02_outpost_miniboss",
- "ma_hey_rey_06_outpost_miniboss",
- "ma_hey_spr_11_outpost_miniboss",
- "ma_pac_cvi_12_outpost_miniboss",
- "ma_pac_wwd_02_outpost_miniboss",
- "ma_std_arr_03_outpost_miniboss",
- "ma_std_rcr_08_outpost_miniboss",
- "ma_std_rcr_18_outpost_miniboss",
- "ma_wat_lch_01_outpost_miniboss",
- "ma_wat_lch_08_outpost_miniboss",
- "ma_wat_nid_01_outpost_miniboss",
- "ma_wat_nid_06_outpost_miniboss",
- "ma_wbr_jpn_20_outpost_miniboss"}
- Miniboss_Rarity = "NPCRarity.Elite"
- if Powerful_Minibosses then
- Miniboss_Rarity = "NPCRarity.Boss"
- end
- for i,v in ipairs(Miniboss_List) do
- TweakDB:SetFlat("Character."..v..".rarity", Miniboss_Rarity)
- if Powerful_Minibosses then
- addToList("Character."..v..".statModifiers", "Character.Cyberpsycho_ModGroup_inline8")
- addToList("Character."..v..".statModifiers", "Character.Cyberpsycho_ModGroup_inline9")
- end
- end
- --Enemies on minimap option
- TweakDB:SetFlat("Mappins.NPCMappinDefinition.showOnMinimap", not Disable_Enemies_On_Minimap)
- --Break hold implementation
- --[[
- Break_Hold_Value = 0
- if Implement_Break_Hold then
- Break_Hold_Value = 1
- end
- TweakDB:SetFlat("Ability.CanGuardBreak_inline2.value", Break_Hold_Value)
- --Negate it from Animals boss in Red Queen's Race
- Possible_SQ012_List = {"Character.sq012_animal_officer", "Character.sq012_animal_officer_beta_female", "Character.sq012_animal_hammer"}
- for i,v in ipairs(Possible_SQ012_List) do
- TweakDB:SetFlat(v..".archetypeData", "ArchetypeData.GenericMeleeT1")
- end ]]
- --Remove smasher fight hidden modifiers that make extra enemies just for show
- if Harder_Final_Boss_Fight then
- TweakDB:SetFlat("Character.q113_smasher_arasaka_mantis_inline0.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_mantis_inline1.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_mantis_inline2.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_masamune_inline0.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_masamune_inline1.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_masamune_inline2.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_netrunner_inline0.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_netrunner_inline1.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_netrunner_inline2.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_mechs_inline0.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_mechs_inline1.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_sniper_inline0.value", 1)
- TweakDB:SetFlat("Character.q113_smasher_arasaka_sniper_inline1.value", 1)
- end
- if Cyber_Enemies then
- --Lower Heal Cooldown
- TweakDB:SetFlat("SpecialActions.CombatStimCooldown.duration", 60)
- --Lower health threshold
- TweakDB:SetFlat("Ability.CanUseCombatStims_inline4.valueToCheck", 50)
- --Add new enemy abilities
- addToList("ArchetypeData.FastMeleeT2_inline2.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.FastMeleeT3_inline2.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.GenericMeleeT1_inline4.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.GenericMeleeT2_inline0.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.GenericRangedT1_inline2.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.GenericRangedT2_inline2.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.GenericRangedT3_inline0.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.HeavyMeleeT2_inline6.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.HeavyMeleeT3_inline6.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.HeavyRangedT2_inline5.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.HeavyRangedT3_inline5.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.HybridHeavyFastMeleeT3_inline6.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.NetrunnerT1_inline4.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.NetrunnerT2_inline4.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.NetrunnerT3_inline4.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.TechieT2_inline2.abilities", "Ability.CanUseCombatStims")
- addToList("ArchetypeData.TechieT3_inline2.abilities", "Ability.CanUseCombatStims")
- --Assign all of their new stats and skills
- createConstantStatModifier("Tier2HPIncrease", "Multiplier", "BaseStats.Health", 1.2)
- createConstantStatModifier("Tier3HPIncrease", "Multiplier", "BaseStats.Health", 1.5)
- createConstantStatModifier("Tier2DPSIncrease", "Multiplier", "BaseStats.NPCDamage", 1.2)
- createConstantStatModifier("Tier3DPSIncrease", "Multiplier", "BaseStats.NPCDamage", 1.5)
- createConstantStatModifier("Tier2AccuracyIncrease", "Multiplier", "BaseStats.Accuracy", 1.2)
- createConstantStatModifier("Tier3AccuracyIncrease", "Multiplier", "BaseStats.Accuracy", 1.5)
- createConstantStatModifier("Tier2ArmorIncrease", "Multiplier", "BaseStats.Armor", 2)
- createConstantStatModifier("Tier3ArmorIncrease", "Multiplier", "BaseStats.Armor", 3)
- createConstantStatModifier("Tier2ThermalResistanceIncrease", "Additive", "BaseStats.ThermalResistance", 10)
- createConstantStatModifier("Tier2ChemicalResistanceIncrease", "Additive", "BaseStats.ChemicalResistance", 10)
- createConstantStatModifier("Tier2ElectricResistanceIncrease", "Additive", "BaseStats.ElectricResistance", 10)
- createConstantStatModifier("Tier3ThermalResistanceIncrease", "Additive", "BaseStats.ThermalResistance", 30)
- createConstantStatModifier("Tier3ChemicalResistanceIncrease", "Additive", "BaseStats.ChemicalResistance", 30)
- createConstantStatModifier("Tier3ElectricResistanceIncrease", "Additive", "BaseStats.ElectricResistance", 30)
- createConstantStatModifier("Tier2HackingResistanceIncrease", "Additive", "BaseStats.HackingResistance", 1)
- createConstantStatModifier("Tier3HackingResistanceIncrease", "Additive", "BaseStats.HackingResistance", 3)
- createConstantStatModifier("Tier2ExplosionDamageReduction", "Additive", "BaseStats.DamageReductionExplosion", 0)
- createConstantStatModifier("Tier3ExplosionDamageReduction", "Additive", "BaseStats.DamageReductionExplosion", 0)
- createConstantStatModifier("Tier2BlindReduction", "Additive", "BaseStats.BlindImmunity", 0)
- createConstantStatModifier("Tier3BlindReduction", "Additive", "BaseStats.BlindImmunity", 0)
- createConstantStatModifier("Tier2StunReduction", "Additive", "BaseStats.StunImmunity", 0)
- createConstantStatModifier("Tier3StunReduction", "Additive", "BaseStats.StunImmunity", 0)
- Tier1List = {"Ability.IsTier1Archetype_inline2"}
- Tier2List = {"Ability.IsTier2Archetype_inline2", "Tier2HPIncrease", "Tier2DPSIncrease", "Tier2AccuracyIncrease", "Tier2ArmorIncrease", "Tier2ThermalResistanceIncrease", "Tier2ChemicalResistanceIncrease", "Tier2ElectricResistanceIncrease", "Tier2HackingResistanceIncrease", "Tier2ExplosionDamageReduction", "Tier2BlindReduction", "Tier2StunReduction"}
- Tier3List = {"Ability.IsTier3Archetype_inline2", "Tier3HPIncrease", "Tier3DPSIncrease", "Tier3AccuracyIncrease", "Tier3ArmorIncrease", "Tier3ThermalResistanceIncrease", "Tier3ChemicalResistanceIncrease", "Tier3ElectricResistanceIncrease", "Tier3HackingResistanceIncrease", "Tier3ExplosionDamageReduction", "Tier3BlindReduction", "Tier3StunReduction"}
- TweakDB:SetFlat("Ability.IsTier1Archetype_inline1.stats", Tier1List)
- TweakDB:SetFlat("Ability.IsTier2Archetype_inline1.stats", Tier2List)
- TweakDB:SetFlat("Ability.IsTier3Archetype_inline1.stats", Tier3List)
- --Give Oda Status Effects
- TweakDB:CreateRecord("OdaStatusAbility", "gamedataGameplayAbility_Record")
- TweakDB:SetFlat("OdaStatusAbility.abilityPackage","OdaStatusAbilityPackage")
- TweakDB:CreateRecord("OdaStatusAbilityPackage", "gamedataGameplayLogicPackage_Record")
- TweakDB:SetFlat("OdaStatusAbilityPackage.effectors", {"Ability.CanCauseBurn_inline5", "OdaStatusBurnEffector"})
- TweakDB:CloneRecord("OdaStatusBurnEffector", "Ability.CanCauseBurn_inline5")
- TweakDB:SetFlat("OdaStatusBurnEffector.statGroup", "OdaStatusBurnStatGroup")
- TweakDB:CloneRecord("OdaStatusBurnStatGroup", "Ability.CanCauseBurn_inline6")
- TweakDB:SetFlat("OdaStatusBurnStatGroup.statModifiers", {"OdaStatusBurnStat"})
- createConstantStatModifier("OdaStatusBurnStat", "Additive", "BaseStats.BurningApplicationRate", 25)
- addToList("Character.main_boss_oda.abilities", "OdaStatusAbility")
- --Distribute enemy tiers
- --Animals
- --Corpo Plaza
- cloneNPCData("Character.animals_elite3_hmelee3_fists_mba_elite", "Character.cpz_animals_grunt1_melee1_baseball_mb")
- cloneNPCData("Character.animals_elite3_shotgun3_carnage_mba_elite", "Character.cpz_animals_grunt1_ranged1_pulsar_mb")
- cloneNPCData("Character.animals_elite2_ranged3_burya_mba_rare", "Character.cpz_animals_grunt2_ranged2_pulsar_mb")
- --Coastview
- cloneNPCData("Character.animals_bouncer2_hmelee2_hammer_mba_rare", "Character.cvi_animals_bouncer1_melee1_baton_mb")
- cloneNPCData("Character.animals_bouncer2_ranged2_burya_mb", "Character.cvi_animals_bouncer1_ranged1_omaha_mb")
- cloneNPCData("Character.animals_elite2_hmelee2_hammer_mba_rare", "Character.cvi_animals_grunt1_melee1_baseball_mb")
- --Downtown
- cloneNPCData("Character.animals_bouncer3_hmelee3_fists_mba_elite", "Character.dtn_animals_bouncer1_melee1_fists_mb")
- cloneNPCData("Character.animals_bouncer2_ranged2_omaha_mb", "Character.dtn_animals_bouncer1_ranged1_omaha_mb")
- cloneNPCData("Character.animals_bouncer3_hmelee3_fists_mba_elite", "Character.dtn_animals_bouncer2_melee2_fists_mb")
- cloneNPCData("Character.animals_elite2_hmelee2_hammer_mba_rare", "Character.dtn_animals_grunt1_melee1_baseball_mb")
- cloneNPCData("Character.animals_elite3_hmelee3_fists_mba_elite", "Character.dtn_animals_grunt1_melee1_fists_mb")
- cloneNPCData("Character.animals_elite3_shotgun3_carnage_mba_elite", "Character.dtn_animals_grunt1_ranged1_nova_mb")
- cloneNPCData("Character.animals_elite3_shotgun3_carnage_mba_elite", "Character.dtn_animals_grunt1_ranged1_pulsar_mb")
- --Wellsprings
- cloneNPCData("Character.animals_elite3_shotgun3_carnage_mba_elite", "Character.spr_animals_bouncer1_ranged1_kenshin_mb")
- cloneNPCData("Character.animals_bouncer2_ranged2_omaha_mb", "Character.spr_animals_bouncer1_ranged1_omaha_mb")
- cloneNPCData("Character.animals_elite2_hmelee2_hammer_mba_rare", "Character.spr_animals_grunt1_melee1_baseball_mb")
- cloneNPCData("Character.animals_grunt2_ranged2_pulsar_mb", "Character.spr_animals_grunt1_ranged1_pulsar_mb")
- --West Wind Estate
- cloneNPCData("Character.animals_elite2_hmelee2_hammer_mba_rare", "Character.wwd_animals_grunt1_melee1_baseball_mb")
- --GIM
- cloneNPCData("Character.animals_elite3_hmelee3_fists_mba_elite", "Character.q110_mall_animals_grunt1_melee1_fists_mb")
- cloneNPCData("Character.animals_grunt2_ranged2_pulsar_mb", "Character.q110_mall_animals_aftervan_grunt1_ranged1_pulsar_mb")
- cloneNPCData("Character.animals_elite2_ranged3_burya_mba_rare", "Character.q110_mall_animals_grunt1_ranged1_nova_mb")
- --Arasaka
- --Arroyo
- cloneNPCData("Character.arasaka_ninja_fmelee3_katana_ma_elite", "Character.arr_arasaka_ranger1_melee2_knife_ma")
- cloneNPCData("Character.arasaka_ninja_fmelee3_mantis_wa_elite", "Character.arr_arasaka_ranger1_ranged2_shingen_wa")
- cloneNPCData("Character.arasaka_netrunner_netrunner2_yukimura_ma_rare", "Character.arr_arasaka_soldier2_shotgun2_tactician_mah_rare")
- --Corpo Plaza
- cloneNPCData("Character.arasaka_netrunner_netrunner2_yukimura_ma_rare", "Character.cpz_arasaka_agent_fshotgun2_tactician_ma_rare")
- cloneNPCData("Character.arasaka_bodyguard_ranged3_kenshin_mb_rare", "Character.cpz_arasaka_guard2_ranged1_kenshin_ma")
- cloneNPCData("Character.arasaka_ranger1_ranged2_shingen_ma", "Character.cpz_arasaka_guard2_ranged1_shingen_ma")
- cloneNPCData("Character.arasaka_ninja_fmelee3_mantis_ma_elite", "Character.cpz_arasaka_guard2_ranged1_yukimura_ma")
- cloneNPCData("Character.arasaka_cyborg_fshotgun3_zhuo_ma_elite", "Character.cpz_arasaka_guard2_ranged1_shingen_ma")
- cloneNPCData("Character.arasaka_cyborg_grenadier3_yukimura_ma_elite", "Character.cpz_arasaka_guard2_ranged1_yukimura_ma")
- --Downtown
- cloneNPCData("Character.arasaka_cyborg_fshotgun3_zhuo_ma_elite", "Character.dtn_arasaka_guard2_melee1_baton_ma")
- cloneNPCData("Character.arasaka_ninja_fmelee3_katana_wa_elite", "Character.dtn_arasaka_guard2_melee1_baton_wa")
- cloneNPCData("Character.arasaka_bodyguard_ranged3_kenshin_mb_rare", "Character.dtn_arasaka_guard2_ranged1_kenshin_ma")
- cloneNPCData("Character.arasaka_cyborg_franged3_shingen_ma_elite", "Character.dtn_arasaka_guard2_ranged1_shingen_ma")
- --Charter Hill
- cloneNPCData("Character.arasaka_ranger1_ranged2_shingen_wa", "Character.hil_arasaka_guard2_ranged1_yukimura_wa")
- cloneNPCData("Character.arasaka_bodyguard_ranged3_kenshin_mb_rare", "Character.hil_arasaka_security1_ranged1_kenshin_ma")
- cloneNPCData("Character.arasaka_terminator_shotgun3_zhuo_mah_elite", "Character.hil_arasaka_ranger1_ranged2_shingen_ma")
- cloneNPCData("Character.arasaka_netrunner_netrunner2_yukimura_wa_rare", "Character.hil_arasaka_agent_fshotgun2_tactician_wa_rare")
- --Northside
- cloneNPCData("Character.arasaka_sumo_hmelee2_hammer_mb_rare", "Character.nid_arasaka_guard2_ranged1_kenshin_ma")
- --North Oak
- cloneNPCData("Character.arasaka_terminator_shotgun3_zhuo_mah_elite", "Character.nok_arasaka_guard2_ranged1_kenshin_ma")
- cloneNPCData("Character.arasaka_netrunner_netrunner2_yukimura_ma_rare", "Character.nok_arasaka_agent_fshotgun2_tactician_ma_rare")
- --Rancho Coronado
- cloneNPCData("Character.arasaka_ninja_fmelee3_katana_wa_elite", "Character.rcr_arasaka_guard2_melee1_baton_wa")
- cloneNPCData("Character.arasaka_ninja_fmelee3_katana_ma_elite", "Character.rcr_arasaka_security1_melee1_baton_ma")
- --West Wind Estate
- cloneNPCData("Character.arasaka_bodyguard_ranged3_kenshin_mb_rare", "Character.wwd_arasaka_security1_ranged1_kenshin_ma")
- --Maelstrom
- --Corpo Plaza
- cloneNPCData("Character.maelstrom_fast_franged2_pulsar_ma_rare", "Character.cpz_maelstrom_grunt1_ranged1_copperhead_ma")
- cloneNPCData("Character.maelstrom_netrunner_netrunner2_lexington_ma", "Character.cpz_maelstrom_grunt1_ranged1_lexington_ma")
- cloneNPCData("Character.maelstrom_grunt2_ranged2_copperhead_wa", "Character.cpz_maelstrom_grunt1_ranged1_lexington_wa")
- --Downtown
- cloneNPCData("Character.maelstrom_fast_franged2_pulsar_ma_rare", "Character.dtn_maelstrom_grunt1_ranged1_copperhead_ma")
- cloneNPCData("Character.maelstrom_grunt2_ranged2_copperhead_wa", "Character.dtn_maelstrom_grunt1_ranged1_copperhead_wa")
- cloneNPCData("Character.maelstrom_techie_grenadier2_lexington_ma", "Character.dtn_maelstrom_grunt1_ranged1_lexington_ma")
- cloneNPCData("Character.maelstrom_fast_fmelee3_mantis_wa_elite", "Character.dtn_maelstrom_grunt2_melee2_machete_wa")
- --Dream On
- cloneNPCData("Character.maelstrom_fast_fmelee3_mantis_wa_elite", "Character.sq006_maelstrom_handgun_easy")
- cloneNPCData("Character.maelstrom_netrunner_netrunner2_lexington_ma", "Character.sq006_maelstrom_shotgun")
- cloneNPCData("Character.maelstrom_strong_gunner2_defender_mb_rare","Character.sq006_maelstrom_rifle_easy")
- cloneNPCData("Character.maelstrom_grunt2_melee2_hammer_wa", "Character.sq031_maelstrom_grunt1_ranged1_lexington_pistol_wa")
- --Ebunike
- cloneNPCData("Character.maelstrom_strong_gunner2_defender_mb_rare", "Character.sq031_maelstrom_grunt1_ranged1_copperhead_ma")
- cloneNPCData("Character.maelstrom_grunt2_ranged2_copperhead_wa", "Character.sq031_maelstrom_grunt1_ranged1_copperhead_wa")
- cloneNPCData("Character.maelstrom_techie_grenadier2_lexington_ma", "Character.sq031_maelstrom_grunt1_ranged1_lexington_pistol_ma")
- --Militech
- --Arroyo
- cloneNPCData("Character.militech_enforcer2_shotgun2_tactician_mah_rare", "Character.arr_militech_ranger1_ranged1_saratoga_ma")
- --Badlands
- cloneNPCData("Character.militech_enforcer2_shotgun2_tactician_mah_rare", "Character.bls_se_militech_ranger1_ranged1_saratoga_ma")
- --Corpo Plaza
- cloneNPCData("Character.militech_enforcer2_shotgun2_tactician_mah_rare", "Character.cpz_militech_ranger1_ranged1_saratoga_ma")
- --Downtown
- cloneNPCData("Character.militech_enforcer2_shotgun2_tactician_mah_rare", "Character.dtn_militech_ranger1_ranged1_saratoga_ma")
- --Tyger Claws
- --Badlands
- cloneNPCData("Character.tyger_claws_biker3_shotgun2_tactician_wa", "Character.bls_se_tyger_claws_biker1_melee1_baseball_wa")
- cloneNPCData("Character.tyger_claws_biker2_ranged2_copperhead_wa", "Character.bls_se_tyger_claws_biker1_ranged1_nue_wa")
- cloneNPCData("Character.tyger_claws_biker2_ranged2_shingen_wa", "Character.bls_se_tyger_claws_biker1_ranged1_saratoga_wa")
- cloneNPCData("Character.tyger_claws_gangster2_ranged2_sidewinder_wa", "Character.bls_se_tyger_claws_gangster1_ranged1_copperhead_wa")
- --Downtown
- cloneNPCData("Character.tyger_claws_ozeki_hmelee3_kanabo_mb", "Character.dtn_tyger_claws_biker1_melee1_baseball_ma")
- cloneNPCData("Character.tyger_claws_ozeki_hmelee3_hammer_mb", "Character.dtn_tyger_claws_biker1_melee1_fists_ma")
- cloneNPCData("Character.tyger_claws_kunoichi_fmelee3_fists_ma_elite", "Character.dtn_tyger_claws_biker1_melee1_tireiron_ma")
- cloneNPCData("Character.tyger_claws_biker3_shotgun3_zhuo_ma_elite", "Character.dtn_tyger_claws_biker1_ranged1_nue_ma")
- cloneNPCData("Character.tyger_claws_kunoichi_fmelee3_katana_wa_elite", "Character.dtn_tyger_claws_biker1_ranged1_nue_wa")
- cloneNPCData("Character.tyger_claws_gangster3_ranged3_sidewinder_ma", "Character.dtn_tyger_claws_biker1_ranged1_saratoga_ma")
- cloneNPCData("Character.tyger_claws_gangster2_ranged2_shingen_wa", "Character.dtn_tyger_claws_biker1_ranged1_saratoga_wa")
- cloneNPCData("Character.tyger_claws_martial_hmelee3_StrongArms_mb", "Character.dtn_tyger_claws_gangster1_melee1_knife_ma")
- cloneNPCData("Character.tyger_claws_kunoichi_fmelee3_katana_wa_elite", "Character.dtn_tyger_claws_gangster1_melee1_knife_wa")
- cloneNPCData("Character.tyger_claws_biker3_shotgun3_zhuo_ma_elite", "Character.dtn_tyger_claws_gangster1_ranged1_copperhead_ma")
- cloneNPCData("Character.tyger_claws_gangster3_ranged3_sidewinder_ma", "Character.dtn_tyger_claws_gangster1_ranged1_nue_ma")
- --Charter Hill
- cloneNPCData("Character.tyger_claws_gangster3_ranged3_sidewinder_ma", "Character.hil_tyger_claws_biker1_ranged1_nue_ma")
- cloneNPCData("Character.hil_tyger_claws_gangster1_melee1_knife_wa", "Character.tyger_claws_kunoichi_fmelee3_katana_wa_elite")
- cloneNPCData("Character.tyger_claws_ozeki_hmelee3_kanabo_mb", "Character.nok_tyger_claws_gangster1_melee1_knife_ma")
- --Valentinos
- --Arroyo
- cloneNPCData("Character.valentinos_machete_hmelee3_machete_mb_elite", "Character.arr_valentinos_grunt2_melee2_knife_ma")
- --Downtown
- cloneNPCData("Character.valentinos_machete_hmelee3_machete_mb_elite", "Character.dtn_valentinos_grunt1_melee1_knife_ma")
- cloneNPCData("Character.valentinos_grunt2_melee2_knife_wa", "Character.dtn_valentinos_grunt1_melee1_knife_wa")
- cloneNPCData("Character.valentinos_shotgun3_shotgun3_testera_ma_elite", "Character.arr_valentinos_grunt1_ranged1_nova_ma")
- cloneNPCData("Character.valentinos_elite3_ranged3_dual_ma_elite", "Character.dtn_valentinos_grunt1_ranged1_nue_ma")
- cloneNPCData("Character.valentinos_grunt2_ranged2_nue_wa", "Character.dtn_valentinos_grunt1_ranged1_nue_wa")
- --TweakDB:SetFlat("Character.dtn_valentinos_grunt1_ranged1_nue_wa.statModifiers", {"Character.downtown_base_power_level", "DualWieldNPCDamageIncrease", "DualWieldTBHDecrease"})
- --Glen
- cloneNPCData("Character.valentinos_machete_hmelee3_machete_mb_elite", "Character.gle_valentinos_grunt1_melee1_baseball_ma")
- cloneNPCData("Character.valentinos_grunt2_melee2_knife_ma", "Character.gle_valentinos_grunt1_melee1_knife_ma")
- cloneNPCData("Character.valentinos_grunt2_ranged2_overture_wa", "Character.gle_valentinos_grunt1_ranged1_nova_wa")
- cloneNPCData("Character.valentinos_elite3_ranged3_dual_ma_elite", "Character.gle_valentinos_grunt1_ranged1_nue_ma")
- --TweakDB:SetFlat("Character.gle_valentinos_grunt1_ranged1_nue_ma.statModifiers", {"Character.glen_base_power_level", "DualWieldNPCDamageIncrease", "DualWieldTBHDecrease"})
- cloneNPCData("Character.valentinos_shotgun3_shotgun3_testera_ma_elite", "Character.gle_valentinos_grunt2_ranged2_nue_ma")
- --Vista Del Rey
- cloneNPCData("Character.valentinos_grunt3_fmelee2_machete_ma_rare", "Character.rey_valentinos_grunt1_melee1_baseball_ma")
- cloneNPCData("Character.valentinos_strong2_shotgun2_igla_ma_rare", "Character.rey_valentinos_grunt1_ranged1_nova_ma")
- cloneNPCData("Character.valentinos_shotgun3_shotgun3_testera_ma_elite", "Character.rey_valentinos_grunt2_ranged2_overture_ma")
- cloneNPCData("Character.valentinos_elite3_ranged3_dual_ma_elite", "Character.rey_valentinos_grunt2_ranged2_nue_ma")
- --TweakDB:SetFlat("Character.rey_valentinos_grunt2_ranged2_nue_ma.statModifiers", {"Character.vista_del_rey_base_power_level", "DualWieldNPCDamageIncrease", "DualWieldTBHDecrease"})
- --Wellsprings
- cloneNPCData("Character.valentinos_grunt3_fmelee2_machete_ma_rare", "Character.spr_valentinos_grunt1_melee1_baseball_ma")
- cloneNPCData("Character.valentinos_elite3_ranged3_dual_ma_elite", "Character.spr_valentinos_grunt1_ranged1_nova_ma")
- cloneNPCData("Character.valentinos_elite2_ranged3_dual_ma_rare", "Character.spr_valentinos_grunt1_ranged1_nue_ma")
- --TweakDB:SetFlat("Character.spr_valentinos_grunt1_ranged1_nova_ma.statModifiers", {"Character.wellsprings_base_power_level", "DualWieldNPCDamageIncrease", "DualWieldTBHDecrease"})
- --TweakDB:SetFlat("Character.spr_valentinos_grunt1_ranged1_nue_ma.statModifiers", {"Character.wellsprings_base_power_level", "DualWieldNPCDamageIncrease", "DualWieldTBHDecrease"})
- --Wraiths
- --Badlands
- cloneNPCData("Character.wraiths_grunt2_melee2_crowbar_wa", "Character.bls_se_wraiths_grunt1_melee1_ironpipe_wa")
- cloneNPCData("Character.wraiths_warrior3_melee3_hammer_wa_rare", "Character.bls_se_wraiths_grunt1_melee1_tireiron_wa")
- cloneNPCData("Character.wraiths_strongarms_hmelee3_fists_mb_elite", "Character.bls_se_wraiths_grunt2_melee2_crowbar_ma")
- cloneNPCData("Character.wraiths_operator3_shotgun2_crusher_ma_rare", "Character.bls_se_wraiths_grunt1_ranged1_pulsar_ma")
- cloneNPCData("Character.wraiths_warrior3_shotgun3_palica_ma_elite", "Character.bls_se_wraiths_grunt2_ranged2_pulsar_ma")
- cloneNPCData("Character.wraiths_warrior3_ranged3_quasar_wa_rare", "Character.bls_se_wraiths_grunt2_melee2_crowbar_wa")
- --Northside
- cloneNPCData("Character.wraiths_warrior3_melee3_hammer_wa_rare", "Character.nid_wraiths_grunt1_ranged1_nova_wa")
- end
- --[[ if Immersive_Damage_Effects then
- Immersive_Damage_Effects_Stun_Camera_Shake = 1
- Immersive_Damage_Effects_Stun_Duration = 0.5
- Immersive_Damage_Effects_Stun_Knockback= 1
- --Immersive_Damage_Effects stun immunity
- createConstantStatModifier("SDO.KnockdownImmunity", "Additive", "BaseStats.KnockdownImmunity", 1)
- createConstantStatModifier("SDO.IDEStunImmunity", "Additive", "BaseStats.IDEStunImmunity", 1)
- addToList("Effectors.VehicleTBHIncrease_inline0.statModifiers", "SDO.IDEStunImmunity")
- --Enable stun movement
- TweakDB:SetFlat("PlayerLocomotion.player_locomotion_data_Stunned_inline9.value", 1)
- --Lower the stun duration
- TweakDB:SetFlat("BaseStatusEffect.BlockBroken_inline1.value", Immersive_Damage_Effects_Stun_Duration)
- --Create our stun immunity
- TweakDB:CloneRecord("BaseStats.IDEStunImmunity", "BaseStats.CanPlayerPiercePoisonImmunity")
- --Create player knockdown
- TweakDB:CloneRecord("SDO.PlayerKnockdown", "BaseStatusEffect.Knockdown")
- addToList("SDO.PlayerKnockdown.immunityStats", "BaseStats.NPCDamage")
- --Create Effects
- createNPCStunEffect("SmallCaliberStun", 0.2 * Immersive_Damage_Effects_Stun_Camera_Shake, 0.2* Immersive_Damage_Effects_Stun_Knockback)
- createNPCStunEffect("SmallMeleeStun", 0.3* Immersive_Damage_Effects_Stun_Camera_Shake, 0.3* Immersive_Damage_Effects_Stun_Knockback)
- createNPCStunEffect("LargeMeleeStun", 0.6* Immersive_Damage_Effects_Stun_Camera_Shake, 0.6* Immersive_Damage_Effects_Stun_Knockback)
- createNPCStunEffect("SmasherMeleeStun", 0.5* Immersive_Damage_Effects_Stun_Camera_Shake, 0.5* Immersive_Damage_Effects_Stun_Knockback)
- createNPCStunEffect("HMGStun", 0.5* Immersive_Damage_Effects_Stun_Camera_Shake, 0.5* Immersive_Damage_Effects_Stun_Knockback)
- TweakDB:CloneRecord("SniperKnockdown", "Attacks.FragGrenadeKnockdown_inline1")
- createNPCSniperKnockdownEffect("PowerSniperBullet", 1, 1, "Attacks.PowerRounds_Projectile")
- createNPCSniperKnockdownEffect("TechSniperBullet", 1, 1, "Attacks.Bullet_Projectile")
- createNPCSmartSniperKnockdownEffect("SmartSniperBullet", 1, 1)
- createNPCStunEffect("ExplosionSmallStun", 0.5* Immersive_Damage_Effects_Stun_Camera_Shake, 0.5* Immersive_Damage_Effects_Stun_Knockback)
- createNPCStunEffect("ExplosionMediumStun", 1* Immersive_Damage_Effects_Stun_Camera_Shake, 1* Immersive_Damage_Effects_Stun_Knockback)
- TweakDB:CloneRecord("ExplosionMediumKnockdown", "Attacks.FragGrenadeKnockdown_inline1")
- TweakDB:SetFlat("ExplosionMediumKnockdown.statusEffect", "SDO.PlayerKnockdown")
- createNPCStunEffect("ExplosionLargeStun", 2* Immersive_Damage_Effects_Stun_Camera_Shake, 2* Immersive_Damage_Effects_Stun_Knockback)
- TweakDB:CloneRecord("ExplosionLargeKnockdown", "Attacks.FragGrenadeKnockdown_inline1")
- TweakDB:SetFlat("ExplosionLargeKnockdown.statusEffect", "SDO.PlayerKnockdown")
- --Small Caliber (Default)
- Small_Caliber_List = {"NPCBulletEffect", "NPCBulletProjectile", "NPCSmartBullet", "OdaSmartRifleBulletProjectile", "SmasherShotgunBulletEffect"}
- for i,v in ipairs(Small_Caliber_List) do
- addToList("Attacks."..v..".statusEffects", "SmallCaliberStun")
- end
- --Small melee (Default)
- NPC_IDE_Combo_Attacks_List = {"StrongAttack", "ComboAttackCenter", "ComboAttackUpToDown", "ComboAttackDownToUp", "ComboAttackRightToLeft", "ComboAttackLefToRight", "OdaStrongAttack"}
- for i,v in ipairs(NPC_IDE_Combo_Attacks_List) do
- addToList("NPCAttacks."..v..".statusEffects", "SmallMeleeStun")
- end
- --Large melee (strong attacks)
- NPC_IDE_Strong_Attacks_List = {"Center", "DownToUp", "Knockdown", "LeftDownToRightUp", "LeftToRight", "LeftUpToRightDown", "RightDownToLeftUp", "RightToLeft", "RightUpToLeftDown", "UpToDown",
- "MassiveDamageAttack", "OdaStompAttack", "StompAttack", "SasquatchHammerStrongAttack"}
- for i,v in ipairs(NPC_IDE_Strong_Attacks_List) do
- addToList("NPCAttacks.StrongAttack"..v..".statusEffects", "LargeMeleeStun")
- addToList("NPCAttacks."..v..".statusEffects", "LargeMeleeStun")
- end
- --Smashasaurus
- addToList("NPCAttacks.SmasherStrongAttack.statusEffects", "SmasherMeleeStun")
- --Snipers
- --Explosions
- --Small
- Small_Explosion_List = {"ExplosionSmall", "ExplosionSmallKill", "RoyceProjectileExplosion", "RoyceProjectileExplosionWeak", "RoyceSplashExplosion"}
- for i,v in ipairs(Small_Explosion_List) do
- addToList("Attacks."..v..".statusEffects", "ExplosionSmallStun")
- end
- addToList("Attacks.FireExtinguisherBlind.statusEffects", "ExplosionSmallStun")
- addToList("Attacks.MinotaurWeakspotLeftExplosion.statusEffects", "ExplosionSmallStun")
- addToList("Attacks.MinotaurWeakspotRightExplosion.statusEffects", "ExplosionSmallStun")
- addToList("Attacks.RoyceWeakspotExplosion.statusEffects", "ExplosionSmallStun")
- --Medium
- Medium_Explosion_List = {"ExplosionMedium", "ExplosionMediumKill", "RainMissileBulletEffect", "CarMediumKill", "PlasmaBeam", "PlasmaBeamShot", "RoyceExplosion"}
- for i,v in ipairs(Medium_Explosion_List) do
- addToList("Attacks."..v..".statusEffects", "ExplosionMediumStun")
- addToList("Attacks."..v..".statusEffects", "ExplosionMediumKnockdown")
- end
- addToList("Attacks.AndroidDeathExplosion.statusEffects", "ExplosionMediumStun")
- --addToList("Attacks.AndroidDeathExplosion.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.EMPGrenade.statusEffects", "ExplosionMediumStun")
- --addToList("Attacks.EMPGrenade.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.FragGrenade.statusEffects", "ExplosionMediumStun")
- addToList("Attacks.FragGrenade.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.LightIncendiaryGrenade.statusEffects", "ExplosionMediumStun")
- --addToList("Attacks.LightIncendiaryGrenade.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.LightBiotechGrenade.statusEffects", "ExplosionMediumStun")
- --addToList("Attacks.LightBiotechGrenade.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.FlashbangGrenadeMinor.statusEffects", "ExplosionMediumStun")
- --addToList("Attacks.FlashbangGrenadeMinor.statusEffects", "ExplosionMediumKnockdown")
- addToList("Attacks.OzobGrenade.statusEffects", "ExplosionMediumStun")
- addToList("Attacks.OzobGrenade.statusEffects", "ExplosionMediumKnockdown")
- --Large
- Large_Explosion_List = {"ExplosionEnormous", "ExplosionLarge", "ExplosionLargeKill", "MinotaurDeathExplosion"}
- for i,v in ipairs(Large_Explosion_List) do
- addToList("Attacks."..v..".statusEffects", "ExplosionLargeStun")
- addToList("Attacks."..v..".statusEffects", "ExplosionLargeKnockdown")
- end
- --HMG
- HMG_List = {"ExplodingBulletSmallProjectile", "SmasherMinigunBulletEffect", "SmartBulletMech"}
- for i,v in ipairs(HMG_List) do
- addToList("Attacks."..v..".statusEffects", "HMGStun")
- end
- end ]]
- --Immersive movement
- --[[ if Immersive_Movement then
- TweakDB:SetFlat("playerStateMachineLocomotion.stand.imperfectTurn", true)
- TweakDB:SetFlat("playerStateMachineLocomotion.sprint.imperfectTurn", true)
- TweakDB:SetFlat("playerStateMachineLocomotion.crouch.imperfectTurn", true)
- else
- TweakDB:SetFlat("playerStateMachineLocomotion.stand.imperfectTurn", false)
- TweakDB:SetFlat("playerStateMachineLocomotion.sprint.imperfectTurn", false)
- TweakDB:SetFlat("playerStateMachineLocomotion.crouch.imperfectTurn", false)
- end ]]
- end
- function createCombinedStatModifier(recordName, modifierType, opSymbol, refObject, refStat, statType, value)
- TweakDB:CreateRecord(recordName, "gamedataCombinedStatModifier_Record")
- TweakDB:SetFlat(recordName..".modifierType", modifierType)
- TweakDB:SetFlat(recordName..".opSymbol", opSymbol)
- TweakDB:SetFlat(recordName..".refObject", refObject)
- TweakDB:SetFlat(recordName..".refStat", refStat)
- TweakDB:SetFlat(recordName..".statType", statType)
- TweakDB:SetFlat(recordName..".value", value)
- end
- function createNPCSmartSniperKnockdownEffect(recordName, cameraShakeStrength, impulseDistance)
- --Stun effect
- createNPCStunEffect(recordName.."Stun", cameraShakeStrength, impulseDistance)
- --Ranged attack package
- TweakDB:CreateRecord(recordName, "gamedataRangedAttackPackage_Record")
- TweakDB:SetFlat(recordName..".chargeFire", recordName.."RangedAttack")
- TweakDB:SetFlat(recordName..".defaultFire", recordName.."RangedAttack")
- --Ranged attacks
- TweakDB:CloneRecord(recordName.."RangedAttack", "Attacks.SmartBulletMedFire")
- TweakDB:SetFlat(recordName.."RangedAttack.NPCAttack", recordName.."BulletEffect")
- --Bullet Effect
- TweakDB:CloneRecord(recordName.."BulletEffect", "Attacks.NPCSmartBullet")
- TweakDB:SetFlat(recordName.."BulletEffect.statusEffects", {recordName.."Stun", "SniperKnockdown"})
- end
- function createNPCSniperKnockdownEffect(recordName, cameraShakeStrength, impulseDistance, playerTimeDilated)
- --Stun effect
- createNPCStunEffect(recordName.."Stun", cameraShakeStrength, impulseDistance)
- --Ranged attack package
- TweakDB:CreateRecord(recordName, "gamedataRangedAttackPackage_Record")
- TweakDB:SetFlat(recordName..".chargeFire", recordName.."RangedAttack")
- TweakDB:SetFlat(recordName..".defaultFire", recordName.."RangedAttack")
- --Ranged attacks
- TweakDB:CloneRecord(recordName.."RangedAttack", "Attacks.PhysicalBullet")
- TweakDB:SetFlat(recordName.."RangedAttack.NPCAttack", recordName.."BulletEffect")
- TweakDB:SetFlat(recordName.."RangedAttack.playerTimeDilated", playerTimeDilated)
- --Bullet Effect
- TweakDB:CloneRecord(recordName.."BulletEffect", "Attacks.NPCBulletEffect")
- TweakDB:SetFlat(recordName.."BulletEffect.statusEffects", {recordName.."Stun", "SniperKnockdown"})
- end
- function createNPCStunEffect(recordName, cameraShakeStrength, impulseDistance)
- --Attack Status Effect
- TweakDB:CloneRecord(recordName, "Attacks.LightIncendiaryGrenade_inline0")
- TweakDB:SetFlat(recordName..".statusEffect", recordName.."StatusEffect")
- --Status Effect
- TweakDB:CloneRecord(recordName.."StatusEffect", "BaseStatusEffect.BlockBroken")
- TweakDB:SetFlat(recordName.."StatusEffect.playerData", recordName.."StatusEffectplayerData")
- TweakDB:SetFlat(recordName.."StatusEffect.immunityStats", {"BaseStats.NPCDamage"})
- --Player Data
- TweakDB:CloneRecord(recordName.."StatusEffectplayerData", "BaseStatusEffect.BlockBroken_inline2")
- TweakDB:SetFlat(recordName.."StatusEffectplayerData.cameraShakeStrength", cameraShakeStrength)
- TweakDB:SetFlat(recordName.."StatusEffectplayerData.impulseDistance", impulseDistance)
- end
- function setArchetypeStats(recordName, statsList, HPMult, DPSMult, Armor, Accuracy, ResistanceBonus, QuickhackResistance)
- createConstantStatModifier(recordName.."HPModifier", "Multiplier", "BaseStats.Health", HPMult)
- createConstantStatModifier(recordName.."DPSModifier", "Multiplier", "BaseStats.NPCDamage", DPSMult)
- createConstantStatModifier(recordName.."ArmorModifier", "Multiplier", "BaseStats.Armor", Armor)
- createConstantStatModifier(recordName.."AccuracyModifier", "Multiplier", "BaseStats.Accuracy", Accuracy)
- createConstantStatModifier(recordName.."ThermalResistance", "Additive", "BaseStats.ThermalResistance", ResistanceBonus)
- createConstantStatModifier(recordName.."ElectricResistance", "Additive", "BaseStats.ElectricResistance", ResistanceBonus)
- createConstantStatModifier(recordName.."ChemicalResistance", "Additive", "BaseStats.ChemicalResistance", ResistanceBonus)
- createConstantStatModifier(recordName.."QuickhackResistance", "Additive", "BaseStats.HackingResistance", QuickhackResistance)
- table.insert(statsList, recordName.."HPModifier")
- table.insert(statsList, recordName.."DPSModifier")
- table.insert(statsList, recordName.."ArmorModifier")
- table.insert(statsList, recordName.."AccuracyModifier")
- table.insert(statsList, recordName.."ThermalResistance")
- table.insert(statsList, recordName.."ElectricResistance")
- table.insert(statsList, recordName.."ChemicalResistance")
- table.insert(statsList, recordName.."QuickhackResistance")
- TweakDB:SetFlat(recordName..".statModifiers", statsList)
- end
- function cloneNPCData(baseRecordName, newRecordName)
- flats = {"abilities", "archetypeData", "lootDrop","primaryEquipment", "rarity","secondaryEquipment","visualTags","statPools","entityTemplatePath"}
- for i,v in ipairs(flats) do
- TweakDB:SetFlatNoUpdate(newRecordName.."."..v, TweakDB:GetFlat(baseRecordName.."."..v))
- end
- TweakDB:Update(newRecordName)
- --[[
- TweakDB:SetFlat(newRecordName..".abilities", TweakDB:GetFlat(baseRecordName..".abilities"))
- TweakDB:SetFlat(newRecordName..".archetypeData", TweakDB:GetFlat(baseRecordName..".archetypeData"))
- TweakDB:SetFlat(newRecordName..".lootDrop", TweakDB:GetFlat(baseRecordName..".lootDrop"))
- TweakDB:SetFlat(newRecordName..".primaryEquipment", TweakDB:GetFlat(baseRecordName..".primaryEquipment"))
- TweakDB:SetFlat(newRecordName..".rarity", TweakDB:GetFlat(baseRecordName..".rarity"))
- TweakDB:SetFlat(newRecordName..".secondaryEquipment", TweakDB:GetFlat(baseRecordName..".secondaryEquipment"))
- TweakDB:SetFlat(newRecordName..".visualTags", TweakDB:GetFlat(baseRecordName..".visualTags"))
- TweakDB:SetFlat(newRecordName..".tags", TweakDB:GetFlat(baseRecordName..".tags"))
- TweakDB:SetFlat(newRecordName..".statPools", TweakDB:GetFlat(baseRecordName..".statPools"))
- TweakDB:SetFlat(newRecordName..".entityTemplatePath", TweakDB:GetFlat(baseRecordName..".entityTemplatePath"))
- ]]--
- end
- function insertAbilities(recordName, value, newAbilities)
- Abilities = TweakDB:GetFlat(recordName)
- if table.getn(Abilities) == value then
- for i, v in ipairs(newAbilities) do
- table.insert(Abilities, v)
- end
- end
- TweakDB:SetFlat(recordName, Abilities)
- end
- function createNPCWeaponData(recordName, statsList, Damage, TBH, LOS)
- createConstantStatModifier(recordName.."NPCDamage", "Multiplier", "BaseStats.NPCDamage", Damage)
- createConstantStatModifier(recordName.."TBH", "Additive", "BaseStats.TBHsBaseSourceMultiplierCoefficient", TBH)
- createConstantStatModifier(recordName.."TBHLOS", "Additive", "BaseStats.TBHsMinimumLineOfSightTime", LOS)
- table.insert(statsList, recordName.."NPCDamage")
- table.insert(statsList, recordName.."TBH")
- table.insert(statsList, recordName.."TBHLOS")
- rebuildNPCWeaponData(recordName, statsList)
- end
- function addToList(list, ability)
- TweakDB:SetFlat("RTDB.ActionTargetPrereq.target", ability)
- abilityhash=TweakDB:GetFlat("RTDB.ActionTargetPrereq.target")
- templist = TweakDB:GetFlat(list)
- if TweakDB:GetFlat(list) == nil then
- return
- end
- if has_value(templist, abilityhash) then
- else
- table.insert(templist, ability)
- TweakDB:SetFlat(list, templist)
- end
- end
- function has_value (tab, val)
- for index, value in ipairs(tab) do
- if value == val then
- return true
- end
- end
- return false
- end
- function rebuildNPCWeaponData(recordName, statsList)
- baseList = {"Items.Base_NPC_RPG_Data_inline0", "Items.Base_NPC_RPG_Data_inline1", "Items.Base_NPC_RPG_Data_inline2", "Items.Base_NPC_RPG_Data_inline3"}
- for i,v in ipairs(statsList) do
- table.insert(baseList, v)
- end
- TweakDB:SetFlat(recordName..".statModifiers", baseList)
- end
- function buildBaseModifierList(recordName, length, statModifiers)
- statsList = {}
- for i=0, 7 do
- table.insert(statsList, "Character.NPC_Base_Curves_inline"..i)
- end
- for i=0, length do
- table.insert(statsList, recordName.."_inline"..i)
- end
- table.insert(statsList, "Character.BaseAccuracy")
- for i,v in ipairs(statModifiers) do
- table.insert(statsList, v)
- end
- TweakDB:SetFlat(recordName..".statModifiers", statsList)
- end
- function createConstantStatModifier(recordName, modifierType, statType, value)
- TweakDB:CreateRecord(recordName, "gamedataConstantStatModifier_Record")
- TweakDB:SetFlatNoUpdate(recordName..".modifierType", modifierType)
- TweakDB:SetFlatNoUpdate(recordName..".statType", statType)
- TweakDB:SetFlatNoUpdate(recordName..".value", value)
- TweakDB:Update(recordName)
- end
- return SDO:new()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement