Compare commits

...

7 Commits

Author SHA1 Message Date
Slava
3cd1e2d575 Add translation template file 2023-08-29 15:31:29 +00:00
Alex
9111bf856e Update 2 files
- /data/scripts/lib/weapongenerator.lua
- /data/scripts/lib/turretgenerator.lua
2023-08-29 15:11:13 +00:00
bacon
f74138d77b changed main 2023-08-29 02:06:55 +03:00
Slava
cbcc5ae680 Update file .gitattributes 2023-08-28 21:01:26 +00:00
Alex
fc351d2555 Update 2 files
- /data/textures/icons/hive.png
- /data/textures/icons/hivelauncher.png
2023-08-28 20:08:36 +00:00
Alex
e90ff8f1e2 Update file weapongenerator.lua 2023-08-28 20:08:13 +00:00
Alex
13a688edb3 Update 2 files
- /data/scripts/lib/turretgenerator.lua
- /data/scripts/lib/weapongenerator.lua
2023-08-28 20:07:43 +00:00
5 changed files with 210 additions and 41 deletions

2
.gitattributes vendored
View File

@@ -4,4 +4,4 @@ CHANGELOG export-ignore
.gitlab-ci.yml export-ignore
.git export-ignore
.vs export-ignore
.gitignore exsport-ignore
.gitignore export-ignore

View File

@@ -0,0 +1,157 @@
# ========== /data/scripts/lib/turretgenerator.lua ==========
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "SmartCannon"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Ionized SmartCannon"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Heavy Cannon"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Cumulative Heavy Cannon"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Diffusor"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "Hookgun"
msgstr ""
#: /data/scripts/lib/turretgenerator.lua:
msgctxt "weapon name"
msgid "HiveLauncher"
msgstr ""
# ========== /data/scripts/lib/weapongenerator.lua ==========
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "SmartCannon"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "SmartCannon"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Heavy Cannon"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Diffuser"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Diffuser"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "Hookgun"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "Hookgun"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Name"
msgid "HiveLauncher"
msgstr ""
#: /data/scripts/lib/weapongenerator.lua:
msgctxt "Weapon Prefix"
msgid "HiveLauncher"
msgstr ""
# ========== /data/scripts/lib/weapontype.lua ==========
#: /data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Smart Сannon"
msgstr ""
#: /data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Heavy Cannon"
msgstr ""
#: /data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Diffuser"
msgstr ""
#: /data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "Hookgun"
msgstr ""
#: /data/scripts/lib/weapontype.lua:
msgctxt "Weapon Type"
msgid "HiveLauncher"
msgstr ""
# ========== /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua ==========
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "WPE Turrets"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Intro"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "In this part of the encyclopedia you will find a description of the turrets from the Weapon Pack Extended mod.\n\nI recommend using turret models from the collection in the workshop."
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Autocannon"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "A lightweight version of the classic cannon.\n\nCompared to conventional cannons:\n+ Increased rate of fire (x2)\n+ Increased projectile speed (x1.5)\n+ A little more damage on the shield (10% - 15%)\n+ Can be equipped with homing missiles.\n- Less damage (x0.75)\n- Shorter damage range (x0.8)"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Heavy Cannon"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "The cannon of the main caliber. It shoots with heavy explosive shells, the hit of which can displace the enemy ship.\n\n+ High damage\n+ High projectile speed\n+ When hit, push the opponent\n+ Also can have a penetration\n- Low rate of fire\n- Occupies many slots\n- Big size\n- Requires more crew"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Energy diffuser"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Short range combat weapon. Does not cause damage to the hull, but extremely effectively destroys shields. Requires civil slots.\n\nShield Damage x20"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Hookgun"
msgstr ""
#: /data/scripts/player/ui/encyclopedia/chapters/wpeturrets.lua:
msgid "Short range combat weapon. Does not cause damage to the shield, but extremely effectively to attrac. Requires 2 gunners slots.\n May have penetration\n"
msgstr ""

View File

@@ -1,13 +1,13 @@
scales[WeaponType.SmartCannon] = {
{from = 0, to = 28, size = 1.0, usedSlots = 2},
{from = 29, to = 38, size = 2.0, usedSlots = 3},
{from = 39, to = 49, size = 3.0, usedSlots = 4},
{from = 29, to = 38, size = 1,5, usedSlots = 3},
{from = 39, to = 49, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level
{from = 50, to = 52, size = 4.0, usedSlots = 5},
}
scales[WeaponType.HeavyCannon] = {
scales[WeaponType.HeavyCannon] = { -- TODO уточнить размеры
{from = 0, to = 28, size = 3.0, usedSlots = 4},
{from = 29, to = 38, size = 4.0, usedSlots = 5},
{from = 39, to = 49, size = 5.0, usedSlots = 6},
@@ -15,7 +15,7 @@ scales[WeaponType.HeavyCannon] = {
{from = 50, to = 52, size = 5, usedSlots = 6},
}
scales[WeaponType.Diffuser] = {
scales[WeaponType.Diffuser] = {-- TODO проверить возможность спавна с определенной дистанции, Уточнить размеры
{from = 0, to = 46, size = 1.0, usedSlots = 2},
{from = 47, to = 50, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level
@@ -26,10 +26,10 @@ scales[WeaponType.Hookgun] = {
{from = 0, to = 46, size = 1.0, usedSlots = 2},
{from = 47, to = 50, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level
{from = 51, to = 52, size = 3.0, usedSlots = 6},
{from = 51, to = 52, size = 4.0, usedSlots = 6},
}
scales[WeaponType.HiveLauncher] = {
scales[WeaponType.HiveLauncher] = { -- TODO Увеличить разнообразие размеров6
{from = 0, to = 46, size = 1.0, usedSlots = 2},
{from = 47, to = 50, size = 2.0, usedSlots = 4},
--dummy for cooaxial, add 1 to size and level
@@ -148,7 +148,7 @@ function TurretGenerator.generateSmartCannonTurret(rand, dps, tech, material, ra
local specType = 1
if specType > 0 then
name = "Ionized SmartCannon/* weapon name*/"%_T
name = "Ionized SmartCannon /* weapon name*/"%_T
weapon.shieldPenetration = 1
end
@@ -310,15 +310,26 @@ function TurretGenerator.generateHiveLauncherTurret(rand, dps, tech, material, r
weapon.damage = weapon.damage / numWeapons
-- attach weapons to turret
TurretGenerator.attachWeapons(rand, result, weapon, numWeapons)
local positions = {}
if rand:getBool() then
table.insert(positions, vec3(0, 0.3, 0))
else
table.insert(positions, vec3(0.4, 0.3, 0))
table.insert(positions, vec3(-0.4, 0.3, 0))
end
local rechargeTime = 4 * rand:getFloat(0.8, 1.2)
local shootingTime = 2 * rand:getFloat(0.8, 1.2)
TurretGenerator.createBatteryChargeCooling(result, rechargeTime, shootingTime)
-- attach
for _, position in pairs(positions) do
weapon.localPosition = position * result.size
result:addWeapon(weapon)
end
local shootingTime = 20 * rand:getFloat(0.8, 1.2)
local coolingTime = 15 * rand:getFloat(0.8, 1.2)
TurretGenerator.createStandardCooling(result, coolingTime, shootingTime)
TurretGenerator.scale(rand, result, WeaponType.HiveLauncher, tech, 0.75)
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.HiveLauncher)
TurretGenerator.scale(rand, result, WeaponType.RocketLauncher, tech, 0.6, coaxialAllowed)
local specialties = TurretGenerator.addSpecialties(rand, result, WeaponType.RocketLauncher)
result.slotType = TurretSlotType.Armed
result:updateStaticStats()

View File

@@ -46,6 +46,7 @@ end
generatorFunction[WeaponType.SmartCannon] = WeaponGenerator.generateSmartCannon
function WeaponGenerator.generateHeavyCannon(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setProjectile()
@@ -91,6 +92,7 @@ end
generatorFunction[WeaponType.HeavyCannon] = WeaponGenerator.generateHeavyCannon
function WeaponGenerator.generateDiffuser(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setBeam()
@@ -193,52 +195,51 @@ end
generatorFunction[WeaponType.Hookgun] = WeaponGenerator.generateHookgun
function WeaponGenerator.generateHiveLauncher(rand, dps, tech, material, rarity)
local weapon = Weapon()
weapon:setBeam()
weapon:setProjectile()
local fireDelay = rand:getFloat(0.2, 0.5)
local reach = rand:getFloat(500, 900)
local fireDelay = rand:getFloat(2.2, 3)
local reach = rand:getFloat(1300, 1800)
local damage = dps * fireDelay
local speed = rand:getFloat(150, 200)
local existingTime = reach / speed
weapon.fireDelay = fireDelay
weapon.appearanceSeed = rand:getInt()
weapon.fireDelay = fireDelay
weapon.reach = reach
weapon.continuousBeam = true
weapon.appearance = WeaponAppearance.Cannon
weapon.appearanceSeed = rand:getInt()
weapon.seeker = true
weapon.appearance = WeaponAppearance.RocketLauncher
weapon.name = "HiveLauncher /* Weapon Name*/"%_t
weapon.prefix = "HiveLauncher /* Weapon Prefix*/"%_t
weapon.icon = "data/textures/icons/hivelauncher.png"
weapon.sound = "cannon"
weapon.accuracy = 0.99 - rand:getFloat(0, 0.02)
weapon.blockPenetration = rand:getInt(0, rarity.value) + 2
weapon.otherForce = -500 * dps * rarity.value
weapon.accuracy = 0.5 - rand:getFloat(0, 0.02)
weapon.damage = damage
weapon.damageType = DamageType.Physical
weapon.impactParticles = ImpactParticles.Physical
weapon.shieldDamageMultiplicator = 0.75
weapon.stoneDamageMultiplicator = 1.2
weapon.hullDamageMultiplicator = 1
weapon.impactParticles = ImpactParticles.Explosion
weapon.impactSound = 1
weapon.impactExplosion = true
weapon.blength = weapon.reach
weapon.bshape = BeamShape.Swirly
weapon.bwidth = 0.5
weapon.bauraWidth = 3
weapon.banimationSpeed = 0
weapon.banimationAcceleration = 0
weapon.bshapeSize = 13
weapon.psize = rand:getFloat(0.2, 0.4)
weapon.pmaximumTime = existingTime
weapon.pvelocity = speed
weapon.pcolor = ColorHSV(rand:getFloat(10, 60), 0.7, 1)
weapon.pshape = ProjectileShape.Rocket
-- shades of blue
weapon.bouterColor = ColorHSV(0, 0, rand:getFloat(0.35, 0.65))
weapon.binnerColor = ColorHSV(1, 1, rand:getFloat(0.35, 0.65))
if rand:test(1) then
local shots = {6, 10, 14, 18, 22, 26, 30}
weapon.shotsFired = shots[rand:getInt(1, #shots)]
weapon.damage = (weapon.damage * 1.5) / weapon.shotsFired
end
WeaponGenerator.adaptWeapon(rand, weapon, tech, material, rarity)
weapon.recoil = weapon.damage * 2
weapon.explosionRadius = math.sqrt(weapon.damage * 5)
return weapon
end

View File

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB