From 32fc8f43ea779ee130456a372e619f706d8058c8 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 2 Sep 2023 18:19:34 +0000 Subject: [PATCH] Update 3 files - /data/scripts/lib/weapongenerator.lua - /data/scripts/lib/turretgenerator.lua - /data/scripts/lib/turretingredients.lua --- data/scripts/lib/turretgenerator.lua | 40 ++++++++++++++++++++------ data/scripts/lib/turretingredients.lua | 23 +++++++-------- data/scripts/lib/weapongenerator.lua | 2 +- 3 files changed, 43 insertions(+), 22 deletions(-) diff --git a/data/scripts/lib/turretgenerator.lua b/data/scripts/lib/turretgenerator.lua index 3aa076e..20ec285 100644 --- a/data/scripts/lib/turretgenerator.lua +++ b/data/scripts/lib/turretgenerator.lua @@ -112,6 +112,7 @@ else } end + -- =========================================================================================================================================================== function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, rarity) local result = TurretTemplate() @@ -127,14 +128,10 @@ function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, ra local weapon = WeaponGenerator.generateSmartCannon(rand, dps, tech, material, rarity) weapon.fireDelay = weapon.fireDelay * numWeapons - local name = "Smart-Cannon /* weapon name*/"%_T - local specType = rand:getInt(0, 2) - if specType == 1 then - name = "Ionized Smart-Cannon /* weapon name*/"%_T + if specType == 1 then weapon.shieldPenetration = 1 elseif specType == 2 then - name = "Plasmed Smart-Cannon /* weapon name*/"%_T weapon.damageType = DamageType.Plasma weapon.damage = weapon.damage * 0.9 end @@ -152,8 +149,14 @@ function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, ra result.slotType = TurretSlotType.Armed result:updateStaticStats() + local name = "Smart-Cannon /* weapon name*/"%_T local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical) - + if specType == 1 then + outerAdjective = "Ionized "%_T + elseif specType == 2 then + outerAdjective = "Plasmed "%_T + weapon.damage = weapon.damage * 0.9 + end result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial) return result @@ -162,6 +165,7 @@ end generatorFunction[WeaponType.SmartCannon] = TurretGenerator.generateSmartCannonTurret + -- =========================================================================================================================================================== function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, rarity) local result = TurretTemplate() @@ -202,11 +206,15 @@ function TurretGenerator.generateHeavyCannonTurret(rand, dps, tech, material, ra local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical) if result.size >= 4 then - name = "Mons Meg /* weapon name*/"%_T + name = "Mass Driver /* weapon name*/"%_T + weapom.speed = weapon.speed * 2 + weapon.reach = weapon.reach * 1.2 end if result.size >= 5 then - name = "Dulle Griet /* weapon name*/"%_T + name = "Mass Warper /* weapon name*/"%_T + weapom.speed = weapon.speed * 2 + weapon.reach = weapon.reach * 1.5 end result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial) @@ -217,6 +225,7 @@ end generatorFunction[WeaponType.HeavyCannon] = TurretGenerator.generateHeavyCannonTurret + -- =========================================================================================================================================================== function TurretGenerator.generateDiffuserTurret(rand, dps, tech, material, rarity) local result = TurretTemplate() @@ -257,6 +266,7 @@ end generatorFunction[WeaponType.Diffuser] = TurretGenerator.generateDiffuserTurret + -- =========================================================================================================================================================== function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity) local result = TurretTemplate() @@ -271,6 +281,13 @@ function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity local weapon = WeaponGenerator.generateHookgun(rand, dps, tech, material, rarity) weapon.damage = weapon.damage / numWeapons + + local spec = rand(0.5) + + if spec then + weapon.holdingForce = weapon.otherForce * 2 + weapon.otherForce = 0 + end -- attach weapons to turret TurretGenerator.attachWeapons(rand, result, weapon, numWeapons) @@ -289,6 +306,11 @@ function TurretGenerator.generateHookgunTurret(rand, dps, tech, material, rarity local name = "Hookgun /* weapon name*/"%_T local dmgAdjective, outerAdjective, barrel, multishot, coax, serial = makeTitleParts(rand, specialties, result, DamageType.Physical) + + if spec then + outerAdjective = "Stabilizing"%_T + end + result.title = Format("%1%%2%%3%%4%%5%%6%%7% /* [outer-adjective][barrel][coax][dmg-adjective][multishot][name][serial] */"%_T, outerAdjective, barrel, coax, dmgAdjective, multishot, name, serial) return result @@ -297,7 +319,7 @@ end generatorFunction[WeaponType.Hookgun] = TurretGenerator.generateHookgunTurret - + -- =========================================================================================================================================================== function TurretGenerator.generateHiveLauncherTurret(rand, dps, tech, material, rarity) local result = TurretTemplate() diff --git a/data/scripts/lib/turretingredients.lua b/data/scripts/lib/turretingredients.lua index bb57260..d2da838 100644 --- a/data/scripts/lib/turretingredients.lua +++ b/data/scripts/lib/turretingredients.lua @@ -2,9 +2,9 @@ TurretIngredients[WeaponType.SmartCannon] = { {name = "Servo", amount = 15, investable = 10, minimum = 5, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, - {name = "Warhead", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, - {name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", }, - {name = "Ammunition M", amount = 2, investable = 4, minimum = 1, weaponStat = "damage", investFactor = 0.5,}, + {name = "Processor", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, + {name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", investFactor = 1.5, changeType = StatChanges.Percentage}, + {name = "Ammunition M", amount = 2, investable = 4, minimum = 1, weaponStat = "damage", investFactor = 1, changeType = StatChanges.Percentage}, {name = "Targeting Card", amount = 3, investable = 3, minimum = 0, weaponStat = "seeker", investFactor = 1, changeType = StatChanges.Flat}, {name = "Steel", amount = 8, investable = 10, minimum = 3,}, {name = "Steel Tube", amount = 5, investable = 10, minimum = 3,}, @@ -13,9 +13,9 @@ TurretIngredients[WeaponType.SmartCannon] = TurretIngredients[WeaponType.HeavyCannon] = { {name = "Servo", amount = 8, investable = 8, minimum = 4, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, - {name = "Warhead", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, + {name = "Explosive Charge", amount = 5, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "High Pressure Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "reach", }, - {name = "Ammunition", amount = 5, investable = 10, minimum = 3, weaponStat = "damage", investFactor = 0.2,}, + {name = "Ammunition L", amount = 5, investable = 10, minimum = 3, weaponStat = "damage", investFactor = 0.2,}, {name = "Steel", amount = 20, investable = 10, minimum = 20,}, {name = "Metal Plate", amount = 8, investable = 10, minimum = 10,}, } @@ -24,20 +24,19 @@ TurretIngredients[WeaponType.Diffuser] = { {name = "Plasma Cell", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, {name = "High Capacity Lens", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", }, - {name = "Energy Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, + {name = "Industrial Tesla Coil",amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "Steel", amount = 20, investable = 0, minimum = 20,}, {name = "Copper", amount = 10, investable = 0, minimum = 10,}, {name = "Silver", amount = 5, investable = 0, minimum = 5,}, } -TurretIngredients[WeaponType.Hookgun] = -- TODO Подумать над составляющими +TurretIngredients[WeaponType.Hookgun] = { - {name = "Plasma Cell", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, - {name = "High Capacity Lens", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", }, - {name = "Energy Tube", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, + {name = "Force Generator", amount = 10, investable = 10, minimum = 10, weaponStat = "fireRate", investFactor = 1.0, changeType = StatChanges.Percentage}, + {name = "Energy Tube", amount = 5, investable = 6, minimum = 1, weaponStat = "reach", }, + {name = "Power Unit", amount = 2, investable = 6, minimum = 1, weaponStat = "damage", }, {name = "Steel", amount = 20, investable = 0, minimum = 20,}, - {name = "Copper", amount = 10, investable = 0, minimum = 10,}, - {name = "Silver", amount = 5, investable = 0, minimum = 5,}, + {name = "Conductor", amount = 10, investable = 0, minimum = 10,}, } TurretIngredients[WeaponType.HiveLauncher] = diff --git a/data/scripts/lib/weapongenerator.lua b/data/scripts/lib/weapongenerator.lua index d84b978..340bda9 100644 --- a/data/scripts/lib/weapongenerator.lua +++ b/data/scripts/lib/weapongenerator.lua @@ -53,7 +53,7 @@ function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity) dps = dps * 1.85 local fireDelay = rand:getFloat(1.5, 2.0)*1.7 - local reach = rand:getFloat(1100, 1500)*1.2 + local reach = rand:getFloat(1100, 1500)*1.5 local damage = dps * fireDelay local speed = rand:getFloat(600, 1000)*1.4 local existingTime = (reach / speed)*1.1