Статья class Projectile

Mavrodi

Псевдо Хакер
Сообщения
72
Реакции
27
так как Алюкар немного стал быдлом, я вам дам расшифрованный класс Projectile, думаю что кому то это поможет(хоть и немного)


C#:
public class Projectile : BaseMonoBehaviour // TypeDefIndex: 1253
{
    // Fields
    public const float projectileSpeed = 0.03125f;
    public const float maxDistance = 8.0f;
    public Vector3 initialVelocity; // 0x20
    public float drag; // 0x2C
    public float gravityModifier; // 0x30
    public float thickness; // 0x34
    public float initialDistance; // 0x38
    public bool remainInWorld; // 0x3C
    [Range(0, 1)]
    public float stickProbability; // 0x40
    [Range(0, 1)]
    public float breakProbability; // 0x44
    [Range(0, 1)]
    public float conditionLoss; // 0x48
    [Range(0, 1)]
    public float ricochetChance; // 0x4C
    public float penetrationPower; // 0x50
    [Range(0, 1)]
    public float waterIntegrityLoss; // 0x54
    public DamageProperties damageProperties; // 0x58
    [Horizontal(2, -1)]
    public MinMax damageDistances; // 0x60
    [Horizontal(2, -1)]
    public MinMax damageMultipliers; // 0x68
    public List<DamageTypeEntry> damageTypes; // 0x70
    public ScaleRenderer rendererToScale; // 0x78
    public ScaleRenderer firstPersonRenderer; // 0x80
    public bool createDecals; // 0x88
    public bool doDefaultHitEffects; // 0x89
    public SoundDefinition flybySound; // 0x90
    public float flybySoundDistance; // 0x98
    public SoundDefinition closeFlybySound; // 0xA0
    public float closeFlybyDistance; // 0xA8
    public float tumbleSpeed; // 0xAC
    public Vector3 tumbleAxis; // 0xB0
    public Vector3 swimScale; // 0xBC
    public Vector3 swimSpeed; // 0xC8
    public BasePlayer owner; // 0xD8
    public AttackEntity sourceEntity; // 0xE0
    public Projectile nextProjectile; // 0xE8
    public ItemModProjectile modProjectile; // 0xF0
    public int ricochetCount; // 0xF8
    public int penetrationCount; // 0xFC
    public bool isAlive; // 0x100
    public bool isInWater; // 0x101
    public float timeAlive; // 0x104
    public float waterTime; // 0x108
    public Projectile.ProjectileState currentState; // 0x10C
    public bool hasHitTarget; // 0x11C
    public bool hasStopped; // 0x11D
    public float lastHitTime; // 0x120
    internal Vector3 lastHitPosition; // 0x124
    internal Vector3 lastHitNormal; // 0x130
    private float distanceTravelled; // 0x13C
    private float maxDistanceTravelled; // 0x140
    private float hitStartTime; // 0x144
    private Vector3 initialPosition; // 0x148
    private Vector3 currentPosition; // 0x154
    private Vector3 previousPosition; // 0x160
    private float timeSinceLastHit; // 0x16C
    private bool isPenetrating; // 0x170
    private bool isRicocheting; // 0x171
    private bool isColliding; // 0x172
    private bool isReflected; // 0x173
    private bool hasRicocheted; // 0x174
    private Plane collisionPlane; // 0x178
    private Ray collisionRay; // 0x188
    private Action onCollision; // 0x1A0
    private Projectile.Trajectory currentTrajectory; // 0x1A8
    private float trajectoryTime; // 0x1B0
    private static uint nextProjectileId; // 0x0
    private static uint maxProjectiles; // 0x4
    private static uint activeProjectiles; // 0x8

    // Properties
    private bool isExpired { get; }
    public bool isInUse { get; }

    // Methods

    // RVA: 0x8113C0 Offset: 0x80FBC0 VA: 0x1808113C0
    private bool ComputeTrajectory(ref uint projectileId, Vector3 start, Vector3 end) { }

    // RVA: 0x810E50 Offset: 0x80F650 VA: 0x180810E50
    private Quaternion GetRotation(ref uint projectileId, float deltaTime) { }

    // RVA: 0x80D140 Offset: 0x80B940 VA: 0x18080D140
    protected void OnDisable() { }

    // RVA: 0x810DC0 Offset: 0x80F5C0 VA: 0x180810DC0
    public static bool IsValid(string projectileType) { }

    // RVA: 0x80FFE0 Offset: 0x80E7E0 VA: 0x18080FFE0
    private void Start() { }

    // RVA: 0x811930 Offset: 0x810130 VA: 0x180811930
    protected void Update() { }

    // RVA: 0x810FB0 Offset: 0x80F7B0 VA: 0x180810FB0
    public static uint GetNextProjectileId() { }

    // RVA: 0x80FDC0 Offset: 0x80E5C0 VA: 0x18080FDC0
    private void Initialize() { }

    // RVA: 0x811B20 Offset: 0x810320 VA: 0x180811B20
    public void .ctor() { }

    // RVA: 0x80D9A0 Offset: 0x80C1A0 VA: 0x18080D9A0
    public void SetProperties(ProjectileData data, Projectile.ProjectileState state, float lifetime) { }

    // RVA: 0x811830 Offset: 0x810030 VA: 0x180811830
    public static bool Raycast(RaycastHit hit) { }

    // RVA: 0x80D910 Offset: 0x80C110 VA: 0x18080D910
    internal void Stop() { }

    // RVA: 0x810D30 Offset: 0x80F530 VA: 0x180810D30
    public bool IsPenetrating() { }

    // RVA: 0x810F30 Offset: 0x80F730 VA: 0x180810F30
    public static uint GetMaxProjectiles() { }

    // RVA: 0x80CE40 Offset: 0x80B640 VA: 0x18080CE40
    public void AdjustVelocity(Vector3 velocity) { }

    // RVA: 0x8109B0 Offset: 0x80F1B0 VA: 0x1808109B0
    private void AdjustTrajectory(float deltaTime) { }

    // RVA: 0x80D090 Offset: 0x80B890 VA: 0x18080D090
    public void InitializeVelocity(Vector3 velocity) { }

    // RVA: 0x80D4C0 Offset: 0x80BCC0 VA: 0x18080D4C0
    private bool CheckCollision(ref uint projectileId, Vector3 start, Vector3 end, float deltaTime) { }

    // RVA: 0x80EBF0 Offset: 0x80D3F0 VA: 0x18080EBF0
    private bool HandleCollision(Projectile.Trajectory trajectory, Vector3 start, Vector3 end) { }

    // RVA: 0x811030 Offset: 0x80F830 VA: 0x180811030
    private void ComputeNextState(float deltaTime) { }

    // RVA: 0x80DD60 Offset: 0x80C560 VA: 0x18080DD60
    private void ComputeInitialState(float deltaTime) { }

    // RVA: 0x810660 Offset: 0x80EE60 VA: 0x180810660
    private void ComputeNextState(Vector3 start, Vector3 end, float deltaTime) { }

    // RVA: 0x8118F0 Offset: 0x8100F0 VA: 0x1808118F0
    private bool GetDamageModifier() { }

    // RVA: 0x80DCF0 Offset: 0x80C4F0 VA: 0x18080DCF0 Slot: 6
    protected virtual float ComputeTrajectory() { }

    // RVA: 0x80D3A0 Offset: 0x80BBA0 VA: 0x18080D3A0
    private Vector3 ComputeTrajectory(Vector3 start, Vector3 end, float deltaTime) { }

    // RVA: 0x80F640 Offset: 0x80DE40 VA: 0x18080F640
    private bool HandlePenetration(Projectile.Trajectory trajectory, Vector3 start, Vector3 end) { }

    // RVA: 0x404FD0 Offset: 0x4037D0 VA: 0x180404FD0 Slot: 7
    protected virtual void OnCollision(ProjectileData data) { }
}
 
Последнее редактирование:
Верх Низ