Skip to content

Conversation

CrimRecya
Copy link
Contributor

@CrimRecya CrimRecya commented Apr 10, 2025

  • AdvancedDrive locomotor ({4A582751-9839-11d1-B709-00A024DDAFD1}) is an improved Drive locomotor ({4A582741-9839-11d1-B709-00A024DDAFD1}) that can serve as a complete upper level replacement for it.
  • It fixes the issue where Drive cannot correctly crush objects during rapid turns.
  • It has smoother uphill and downhill dynamic visual effects.
  • It has the function of driving the unit backwards.
    • AdvancedDrive.Reverse controls whether the unit can driving backwards. The next 5 items are all under its control.
    • AdvancedDrive.Reverse.FaceTarget controls whether to maitain the frontal movement towards the enemy within AdvancedDrive.Reverse.FaceTargetRange and no longer automatically selects by the current orientation.
    • AdvancedDrive.Reverse.MinimumDistance controls how close the unit is to its destination, allowing reversing.
    • AdvancedDrive.Reverse.RetreatDuration controls how long since the unit was last injured, allowing reversing.
    • AdvancedDrive.Reverse.Speed controls the speed ratio when reversing.
  • It also has the function of hovering.
    • AdvancedDrive.Hover controls whether the unit can hovering above the ground. The next 6 items are all under its control.
    • AdvancedDrive.Hover.Sink controls whether the unit will be destroyed when losing power on the water.
    • AdvancedDrive.Hover.Spin controls whether the unit will rotating when losing power.
    • AdvancedDrive.Hover.Tilt controls whether the unit will will tilt at an angle on the slope.
    • AdvancedDrive.Hover.Height, AdvancedDrive.Hover.Dampen and AdvancedDrive.Hover.Bob control the state of hovering like what vanilla HoverHeight, HoverDampen and HoverBob do.

In rulesmd.ini:

[SOMEVEHICLE]                               ; VehicleType
Locomotor=AdvancedDrive                     ; Locomotor
AdvancedDrive.Reverse=true                  ; boolean
AdvancedDrive.Reverse.FaceTarget=true       ; boolean
AdvancedDrive.Reverse.FaceTargetRange=16.0  ; floating point value
AdvancedDrive.Reverse.MinimumDistance=2.5   ; floating point value
AdvancedDrive.Reverse.RetreatDuration=150   ; integer, game frames
AdvancedDrive.Reverse.Speed=0.85            ; floating point value
AdvancedDrive.Hover=false                   ; boolean
AdvancedDrive.Hover.Sink=true               ; boolean
AdvancedDrive.Hover.Spin=true               ; boolean
AdvancedDrive.Hover.Tilt=true               ; boolean
AdvancedDrive.Hover.Height=                 ; floating point value, default to [General] -> HoverHeight
AdvancedDrive.Hover.Dampen=                 ; floating point value, default to [General] -> HoverDampen
AdvancedDrive.Hover.Bob=                    ; floating point value, default to [General] -> HoverBob

Copy link

github-actions bot commented Apr 10, 2025

Nightly build for this pull request:

This comment is automatic and is meant to allow guests to get latest nightly builds for this pull request without registering. It is updated on every successful build.

@Coronia Coronia added Needs testing ⚙️T2 T2 maintainer review is sufficient labels Apr 10, 2025
@CrimRecya
Copy link
Contributor Author

CrimRecya commented Apr 11, 2025

The reverse function, when used in conjunction with #1623 and #1480, can provide a more complete gaming function. While when used in conjunction with KeepTargetOnMove and KeepRange, it can enhance the player's gaming experience.
reverse

@Starkku
Copy link
Contributor

Starkku commented Apr 11, 2025

Irregardless of any other factors (I have not had time to do in-depth review yet), the name probably needs to be something less ambiguous than Skilled.

@CrimRecya
Copy link
Contributor Author

Irregardless of any other factors (I have not had time to do in-depth review yet), the name probably needs to be something less ambiguous than Skilled.

Well, it's indeed not quite clear. Do you have any suggestions?

@Metadorius
Copy link
Member

AdvancedDrive?

Copy link
Member

@Metadorius Metadorius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Marked all the places I found where something could be named or brought to YRpp for your convenience.

{
const auto pLinked = this->LinkedTo;

if (!pLinked->unknown_abstract_array_588.Count)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here

if (pLinked->OnBridge != pNextCell->ContainsBridge())
pLinked->unknown_bool_68B = true;

if (!pLinked->vt_entry_29C())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and here

@CrimRecya
Copy link
Contributor Author

AdvancedDrive?

At first, I thought of SkilledDrive, but I felt it was too long, so I changed it to the current one. But obviously, this is confusing.

@CrimRecya CrimRecya changed the title [Highly Customized] New Skilled locomotor [Highly Customized] New AdvancedDrive locomotor Apr 16, 2025
@Starkku Starkku force-pushed the develop branch 2 times, most recently from b429215 to 280b1c8 Compare June 29, 2025 19:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs testing ❓New feature ⚙️T2 T2 maintainer review is sufficient
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants