Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void addRandomDamageFromCrash(IsoGameCharacter var1, float var2) {
- int var3 = 1;
- if (var2 > 40.0F) {
- var3 = Rand.Next(1, 3);
- }
- if (var2 > 70.0F) {
- var3 = Rand.Next(2, 4);
- }
- int var4 = 0;
- int var5;
- for(var5 = 0; var5 < var1.getVehicle().getPartCount(); ++var5) {
- VehiclePart var6 = var1.getVehicle().getPartByIndex(var5);
- if (var6.window != null && var6.getCondition() < 15) {
- ++var4;
- }
- }
- for(var5 = 0; var5 < var3; ++var5) {
- int var9 = Rand.Next(BodyPartType.ToIndex(BodyPartType.Hand_L), BodyPartType.ToIndex(BodyPartType.MAX));
- BodyPart var7 = var1.getBodyDamage().getBodyPart(BodyPartType.FromIndex(var9));
- float var8 = Math.max(Rand.Next(var2 - 15.0F, var2), 5.0F);
- if (var1.Traits.FastHealer.isSet()) {
- var8 = (float)((double)var8 * 0.8);
- } else if (var1.Traits.SlowHealer.isSet()) {
- var8 = (float)((double)var8 * 1.2);
- }
- switch (SandboxOptions.instance.InjurySeverity.getValue()) {
- case 1:
- var8 *= 0.5F;
- break;
- case 3:
- var8 *= 1.5F;
- }
- var8 *= this.getScript().getPlayerDamageProtection();
- var8 = (float)((double)var8 * 0.9);
- var7.AddDamage(var8);
- if (var8 > 40.0F && Rand.Next(12) == 0) {
- var7.generateDeepWound();
- } else if (var8 > 50.0F && Rand.Next(10) == 0 && SandboxOptions.instance.BoneFracture.getValue()) {
- if (var7.getType() != BodyPartType.Neck && var7.getType() != BodyPartType.Groin) {
- var7.setFractureTime(Rand.Next(Rand.Next(10.0F, var8 + 10.0F), Rand.Next(var8 + 20.0F, var8 + 30.0F)));
- } else {
- var7.generateDeepWound();
- }
- }
- if (var8 > 30.0F && Rand.Next(12 - var4) == 0) {
- var7 = var1.getBodyDamage().setScratchedWindow();
- if (Rand.Next(5) == 0) {
- var7.generateDeepWound();
- var7.setHaveGlass(true);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement