Skip to content

Commit

Permalink
Formatting and annotations
Browse files Browse the repository at this point in the history
  • Loading branch information
lL1l1 committed Jan 25, 2025
1 parent d419376 commit 225ecb8
Show file tree
Hide file tree
Showing 7 changed files with 117 additions and 77 deletions.
91 changes: 49 additions & 42 deletions units/DRA0202/DRA0202_Script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,50 +22,55 @@ local CreateRotator = CreateRotator
DRA0202 = ClassUnit(CAirUnit) {
Weapons = {
AntiAirMissiles = ClassWeapon(CAAMissileNaniteWeapon) {},
---@class DRA0202_GroundMissile : CIFMissileCorsairWeapon
GroundMissile = ClassWeapon(CIFMissileCorsairWeapon) {

IdleState = State (CIFMissileCorsairWeapon.IdleState) {

Main = function(self)
CIFMissileCorsairWeapon.IdleState.Main(self)
end,

OnGotTarget = function(self)
if self.unit:IsUnitState('Moving') then
self.unit:SetSpeedMult(1.0)
else
self.unit:SetBreakOffTriggerMult(2.0)
self.unit:SetBreakOffDistanceMult(8.0)
self.unit:SetSpeedMult(0.67)
CIFMissileCorsairWeapon.IdleState.OnGotTarget(self)
end
end,
},

OnGotTarget = function(self)
local unit = self.unit

if unit:IsUnitState('Moving') then
unit:SetSpeedMult(1.0)
else
unit:SetBreakOffTriggerMult(2.0)
unit:SetBreakOffDistanceMult(8.0)
unit:SetSpeedMult(0.67)
CIFMissileCorsairWeapon.OnGotTarget(self)
end
end,

OnLostTarget = function(self)
local unit = self.unit

unit:SetBreakOffTriggerMult(1.0)
unit:SetBreakOffDistanceMult(1.0)
unit:SetSpeedMult(1.0)
CIFMissileCorsairWeapon.OnLostTarget(self)
end,
IdleState = State(CIFMissileCorsairWeapon.IdleState) {
---@param self DRA0202_GroundMissile
Main = function(self)
CIFMissileCorsairWeapon.IdleState.Main(self)
end,
---@param self DRA0202_GroundMissile
OnGotTarget = function(self)
if self.unit:IsUnitState('Moving') then
self.unit:SetSpeedMult(1.0)
else
self.unit:SetBreakOffTriggerMult(2.0)
self.unit:SetBreakOffDistanceMult(8.0)
self.unit:SetSpeedMult(0.67)
CIFMissileCorsairWeapon.IdleState.OnGotTarget(self)
end
end,
},

---@param self DRA0202_GroundMissile
OnGotTarget = function(self)
local unit = self.unit

if unit:IsUnitState('Moving') then
unit:SetSpeedMult(1.0)
else
unit:SetBreakOffTriggerMult(2.0)
unit:SetBreakOffDistanceMult(8.0)
unit:SetSpeedMult(0.67)
CIFMissileCorsairWeapon.OnGotTarget(self)
end
end,

---@param self DRA0202_GroundMissile
OnLostTarget = function(self)
local unit = self.unit

unit:SetBreakOffTriggerMult(1.0)
unit:SetBreakOffDistanceMult(1.0)
unit:SetSpeedMult(1.0)
CIFMissileCorsairWeapon.OnLostTarget(self)
end,
},
},

---@param self DRA0202
---@param target? Unit | Blip
RotateWings = function(self, target)
local trash = self.Trash

Expand All @@ -75,7 +80,7 @@ DRA0202 = ClassUnit(CAirUnit) {
end
if not self.RWingRotator then
self.RWingRotator = CreateRotator(self, 'B03', 'x')
TrashBagAdd(trash,self.RWingRotator)
TrashBagAdd(trash, self.RWingRotator)
end
local fighterAngle = 0
local bomberAngle = -90
Expand All @@ -102,17 +107,19 @@ DRA0202 = ClassUnit(CAirUnit) {
end
end,

---@param self DRA0202
OnCreate = function(self)
CAirUnit.OnCreate(self)
local trash = self.Trash
TrashBagAdd(trash,ForkThread(self.MonitorWings,self))
TrashBagAdd(trash, ForkThread(self.MonitorWings, self))
end,

---@param self DRA0202
MonitorWings = function(self)
local airTarget
while self and not self.Dead do
local airTargetWeapon = self:GetWeaponByLabel('AntiAirMissiles')
if airTargetWeapon then
if airTargetWeapon then
airTarget = airTargetWeapon:GetCurrentTarget()
end

Expand Down
18 changes: 13 additions & 5 deletions units/UEA0304/UEA0304_Script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,27 @@ UEA0304 = ClassUnit(TAirUnit) {
LinkedRailGun2 = ClassWeapon(TAirToAirLinkedRailgun) {},
},

OnStopBeingBuilt = function(self,builder,layer)
TAirUnit.OnStopBeingBuilt(self,builder,layer)
---@param self UEA0304
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
TAirUnit.OnStopBeingBuilt(self, builder, layer)
-- Don't turn off jamming for AI so that it uses it by default
if self.Brain.BrainType == 'Human' then
self:SetScriptBit('RULEUTC_JammingToggle', true)
else
self:SetMaintenanceConsumptionActive()
end

end,


--- Do not allow friendly fire from our own army's strategic bombers
---@param self UEA0304
---@param instigator Unit
---@param amount number
---@param vector Vector
---@param damageType DamageType
OnDamage = function(self, instigator, amount, vector, damageType)
if instigator and instigator.Army == self.Army and instigator.Blueprint.CategoriesHash.STRATEGICBOMBER then
if instigator and instigator.Army == self.Army and instigator.Blueprint.CategoriesHash["STRATEGICBOMBER"] then
return
end

Expand Down
9 changes: 6 additions & 3 deletions units/URA0303/URA0303_Script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,12 @@ URA0303 = ClassUnit(CAirUnit) {
Missiles1 = ClassWeapon(CAAMissileNaniteWeapon) {},
Missiles2 = ClassWeapon(CAAMissileNaniteWeapon) {},
},
OnStopBeingBuilt = function(self,builder,layer)
CAirUnit.OnStopBeingBuilt(self,builder,layer)

---@param self URA0303
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
CAirUnit.OnStopBeingBuilt(self, builder, layer)
self:SetMaintenanceConsumptionInactive()
-- Don't turn off stealth for AI so that it uses it by default
if self.Brain.BrainType == 'Human' then
Expand All @@ -30,7 +34,6 @@ URA0303 = ClassUnit(CAirUnit) {
end
self:RequestRefreshUI()
end,

}

TypeClass = URA0303
25 changes: 17 additions & 8 deletions units/URA0304/URA0304_Script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,25 +16,34 @@ URA0304 = ClassUnit(CAirUnit) {
AAGun1 = ClassWeapon(CAAAutocannon) {},
AAGun2 = ClassWeapon(CAAAutocannon) {},
},
ContrailBones = {'Left_Exhaust','Center_Exhaust','Right_Exhaust'},
ExhaustBones = {'Left_Exhaust','Center_Exhaust','Right_Exhaust'},

OnStopBeingBuilt = function(self,builder,layer)
CAirUnit.OnStopBeingBuilt(self,builder,layer)
ContrailBones = { 'Left_Exhaust', 'Center_Exhaust', 'Right_Exhaust' },
ExhaustBones = { 'Left_Exhaust', 'Center_Exhaust', 'Right_Exhaust' },

---@param self URA0304
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
CAirUnit.OnStopBeingBuilt(self, builder, layer)
-- Don't turn off stealth for AI so that it uses it by default
if self.Brain.BrainType == 'Human' then
self:SetScriptBit('RULEUTC_StealthToggle', true)
else
self:SetMaintenanceConsumptionActive()
end
end,


---@param self URA0304
---@param instigator Unit
---@param amount number
---@param vector Vector
---@param damageType DamageType
OnDamage = function(self, instigator, amount, vector, damageType)
if instigator and instigator:GetBlueprint().CategoriesHash.STRATEGICBOMBER and instigator.Army == self.Army then
if instigator and instigator.Army == self.Army and instigator.Blueprint.CategoriesHash["STRATEGICBOMBER"] then
return
end

CAirUnit.OnDamage(self, instigator, amount, vector, damageType)
end,
}

TypeClass = URA0304
34 changes: 20 additions & 14 deletions units/URA0401/URA0401_script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,14 @@ local util = import("/lua/utilities.lua")
local fxutil = import("/lua/effectutilities.lua")

---@class URA0401 : CAirUnit
---@field MovementAmbientExhaustEffectsBag table # Old style trashbag that is a table
---@field AnimManip moho.AnimationManipulator # Takeoff/landing animations
URA0401 = ClassUnit(CAirUnit) {
Weapons = {
Missile01 = ClassWeapon(CDFRocketIridiumWeapon) {},
Missile02 = ClassWeapon(CDFRocketIridiumWeapon) {},
HeavyBolter = ClassWeapon(CDFHeavyElectronBolterWeapon){},
HeavyBolterBack = ClassWeapon(CDFHeavyElectronBolterWeapon){},
HeavyBolter = ClassWeapon(CDFHeavyElectronBolterWeapon) {},
HeavyBolterBack = ClassWeapon(CDFHeavyElectronBolterWeapon) {},
AAMissile01 = ClassWeapon(CAAMissileNaniteWeapon) {},
AAMissile02 = ClassWeapon(CAAMissileNaniteWeapon) {},
},
Expand All @@ -31,11 +33,14 @@ URA0401 = ClassUnit(CAirUnit) {
'Exhaust_Right03',
},

DestructionPartsChassisToss = {'URA0401',},
DestructionPartsChassisToss = { 'URA0401', },
DestroyNoFallRandomChance = 1.1,

OnStopBeingBuilt = function(self,builder,layer)
CAirUnit.OnStopBeingBuilt(self,builder,layer)
---@param self URA0401
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
CAirUnit.OnStopBeingBuilt(self, builder, layer)
-- Don't turn off stealth for AI so that it uses it by default
if self.Brain.BrainType == 'Human' then
self:SetScriptBit('RULEUTC_StealthToggle', true)
Expand All @@ -49,12 +54,12 @@ URA0401 = ClassUnit(CAirUnit) {
---@param self URA0401
---@param new HorizontalMovementState
---@param old HorizontalMovementState
OnMotionHorzEventChange = function(self, new, old )
OnMotionHorzEventChange = function(self, new, old)
CAirUnit.OnMotionHorzEventChange(self, new, old)

if self.ThrustExhaustTT1 == nil then
if self.ThrustExhaustTT1 == nil then
if self.MovementAmbientExhaustEffectsBag then
fxutil.CleanupEffectBag(self,'MovementAmbientExhaustEffectsBag')
fxutil.CleanupEffectBag(self, 'MovementAmbientExhaustEffectsBag')
else
self.MovementAmbientExhaustEffectsBag = {}
end
Expand All @@ -65,16 +70,17 @@ URA0401 = ClassUnit(CAirUnit) {
KillThread(self.ThrustExhaustTT1)
fxutil.CleanupEffectBag(self, 'MovementAmbientExhaustEffectsBag')
self.ThrustExhaustTT1 = nil
end
end
end,

---@param self URA0401
MovementAmbientExhaustThread = function(self)
while not self.Dead do
local ExhaustEffects = {
'/effects/emitters/dirty_exhaust_smoke_01_emit.bp',
'/effects/emitters/dirty_exhaust_sparks_01_emit.bp',
'/effects/emitters/dirty_exhaust_sparks_01_emit.bp',
}
local ExhaustBeam = '/effects/emitters/missile_exhaust_fire_beam_03_emit.bp'
local ExhaustBeam = '/effects/emitters/missile_exhaust_fire_beam_03_emit.bp'

for kE, vE in ExhaustEffects do
for kB, vB in self.MovementAmbientExhaustBones do
Expand All @@ -85,9 +91,9 @@ URA0401 = ClassUnit(CAirUnit) {

WaitSeconds(2)
fxutil.CleanupEffectBag(self, 'MovementAmbientExhaustEffectsBag')
WaitSeconds(util.GetRandomFloat(1,7))
end

WaitSeconds(util.GetRandomFloat(1, 7))
end
end,

---@param self URA0401
Expand Down
4 changes: 4 additions & 0 deletions units/URL0101/URL0101_Script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ local CWalkingLandUnit = import("/lua/cybranunits.lua").CWalkingLandUnit

---@class URL0101 : CWalkingLandUnit
URL0101 = ClassUnit(CWalkingLandUnit) {

---@param self URL0101
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
CWalkingLandUnit.OnStopBeingBuilt(self, builder, layer)

Expand Down
13 changes: 8 additions & 5 deletions units/XRA0305/XRA0305_script.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,18 @@ local CDFLaserDisintegratorWeapon = import("/lua/cybranweapons.lua").CDFLaserDis

---@class XRA0305 : CAirUnit
XRA0305 = ClassUnit(CAirUnit) {

Weapons = {
Missiles1 = ClassWeapon(CAAMissileNaniteWeapon) {},
Disintegrator01 = ClassWeapon(CDFLaserDisintegratorWeapon) {},
},

OnStopBeingBuilt = function(self,builder,layer)
CAirUnit.OnStopBeingBuilt(self,builder,layer)

---@param self XRA0305
---@param builder Unit
---@param layer Layer
OnStopBeingBuilt = function(self, builder, layer)
CAirUnit.OnStopBeingBuilt(self, builder, layer)
self:SetMaintenanceConsumptionActive()
end,
}
TypeClass = XRA0305

TypeClass = XRA0305

0 comments on commit 225ecb8

Please sign in to comment.