All pastes #626311 Raw Edit

reflection

public lua v1 · immutable
·published 2007-07-19 15:47 UTC
rendered paste body
-- Reflection calculationsvectorFrontDirection = ba.createVector(0,0,1)if booleanBarrelRoll == 1 then   for k=1,#mn.Weapons do      objectWeapon = mn.Weapons[k]      stringWeaponTeam = objectWeapon.Team.Name      if stringWeaponTeam ~= "Friendly" then         vectorWeaponPosition = objectWeapon.Position         vectorMePosition = me.Position         floatWeaponDistance = vectorMePosition:getDistance(vectorWeaponPosition)         if floatWeaponDistance <= 25 then            vectorImpactNormal = vectorWeaponPosition - vectorMePosition            orientationWeapon = objectWeapon.Orientation            vectorWeaponDirection = orientationWeapon:unrotateVector(vectorFrontDirection)            floatImpactAngle = vectorImpactNormal:getDotProduct(vectorWeaponDirection)            if floatImpactAngle > 0 then               floatReflectionModifier = 2 * vectorWeaponDirection:getDotProduct(vectorImpactNormal) / vectorImpactNormal:getDotProduct(vectorImpactNormal)               vectorReflection = floatReflectionModifier * vectorImpactNormal               vectorWeaponNewDirection = vectorWeaponDirection - vectorReflectionModifier               orientationNewWeapon = vectorWeaponNewDirection:getOrientation()               objectWeapon.Orientation = orientationNewWeapon            end         end      end   endend