-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create MLBA_v001.lsl #13
base: master
Are you sure you want to change the base?
Conversation
Modular LBA, with angle-based armour penetration
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional documentation needs to be provided along with this script to explain its use and how to integrate with vehicle scripts as a separate file. Not only does it simulate four damageable components but also directional armor plating and component positioning, making this a very complex system compared to standard LBA. Code is inconsistent. Braces { } should be on their own lines to avoid clutter. Description tags are incompatible with current system.
Because of the inherent complexity of setup and use, and issues noted within this review, I cannot recommend this be implemented into the main LBA project as it is. For the same reasons, I also believe that few people will actually use it unless directly recommended by its author.
MLBA_v001.lsl
Outdated
|
||
ref() | ||
{ | ||
llSetObjectDesc("LBA.v.,"+(string)enginehealth+","+(string)transhealth+","+(string)crewhealth+","+(string)ammohealth); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incompatible with current messaging system. Missing parameters from main LBA script. Will cause conflicts with weapons and tools that rely on these values.
Consider using the minimum value between current crewhealth, transhealth, enginehealth, and ammohealth as HP and the lowest of their maximum values as the MaxHP.
MLBA_v001.lsl
Outdated
llSetObjectDesc("LBA.v.,"+(string)enginehealth+","+(string)transhealth+","+(string)crewhealth+","+(string)ammohealth); | ||
llSetText( | ||
"E: "+(string)(llRound(enginehealth)%90000)+"/"+(string)llRound(enginehealthmax)+" T: "+(string)(llRound(transhealth)%90000)+"/"+(string)llRound(transhealthmax)+ | ||
"\nC: "+(string)(llRound(crewhealth)%90000)+"/"+(string)llRound(crewhealthmax)+" A: "+(string)(llRound(ammohealth)%90000)+"/"+(string)llRound(ammohealthmax),<1,1,1>,1); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These values are meaningless to rank-and-file combatants with little to no understanding of the system. Consider simplifying.
Ammo position: "+(string)ammopos+"m | ||
Ammo maxhealth: "+(string)llRound(ammohealthmax)+"LBA | ||
Crew position: "+(string)crewpos+"m | ||
Crew maxhealth: "+(string)llRound(crewhealthmax)+"LBA" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Few if any people will actually read all of this. There is too much information here that is needlessly complex. The rank-and-file combatant will simply use the largest munitions available until it dies and not be able to communicate useful information to their team.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This information was largely for OICs opposing this system for the first time, so I wanted to make it as detailed as would be useful for people who know what they're doing. If this system actually gets adopted I'd simplify or even remove this
if(llGetLinkName(i)=="ammofx"){ammofx=i;} | ||
} | ||
} | ||
collision_start(integer ndt) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Implies LBA-Light. Description tag should include "LBA.v.L" to show this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This collision event records relative hit positions to use in the listen for a more accurate idea of where the round hit me, the collision event itself takes no part in damaging the vehicle.
The use of the metric system is arbitrary and will confuse inexperienced combatants. It needs be to be replaced for a more easily conveyable attribute, preferably the raw amount of damage reduction given to a specific area. |
It's more complicated than that. This system checks for angle of impact and factors that in with armor thickness and component positions to determine what component will be damaged and how much damage will be received. |
Modular LBA, with angle-based armour penetration and module damage. The system I'll be using for my current vehicles, optimized for public release.