Skip to content
Snippets Groups Projects
Select Git revision
  • 3d8993a744813c5144851da5347d7b4b1885f234
  • main default protected
  • 3.10
  • 3.11
  • revert-15688-bpo-38031-_io-FileIO-opener-crash
  • 3.8
  • 3.9
  • 3.7
  • enum-fix_auto
  • branch-v3.11.0
  • backport-c3648f4-3.11
  • gh-93963/remove-importlib-resources-abcs
  • refactor-wait_for
  • shared-testcase
  • v3.12.0a2
  • v3.12.0a1
  • v3.11.0
  • v3.8.15
  • v3.9.15
  • v3.10.8
  • v3.7.15
  • v3.11.0rc2
  • v3.8.14
  • v3.9.14
  • v3.7.14
  • v3.10.7
  • v3.11.0rc1
  • v3.10.6
  • v3.11.0b5
  • v3.11.0b4
  • v3.10.5
  • v3.11.0b3
  • v3.11.0b2
  • v3.9.13
34 results

patchlevel.h

Blame
  • BaseTool.cpp 10.59 KiB
    
    /***********************************************************
    Copyright © Vitaliy Buturlin, Evgeny Danilovich, 2017, 2018
    See the license in LICENSE
    ***********************************************************/
    
    #include "BaseTool.h"
    
    #include <particles/sxparticles.h>
    #include <decals/sxdecals.h>
    #include "Player.h"
    
    /*! \skydocent base_tool
    Базовый класс для инструмента (в т.ч оружие). То, что игрок может взять в руки и использовать
    */
    
    
    BEGIN_PROPTABLE(CBaseTool)
    	//! Время перезарядки, с
    	DEFINE_FIELD_FLOAT(m_fReloadTime, PDFF_NOEDIT | PDFF_NOEXPORT, "reload_time", "", EDITOR_NONE)
    	//! Время прицеливания, с
    	DEFINE_FIELD_FLOAT(m_fZoomTime, PDFF_NOEDIT | PDFF_NOEXPORT, "zoom_time", "", EDITOR_NONE)
    
    	//! Смещение визуальной модели
    	DEFINE_FIELD_VECTOR(m_vSlotPos, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_offset", "", EDITOR_NONE)
    	//! Вращение визуальной модели
    	DEFINE_FIELD_ANGLES(m_qSlotRot, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_rotation", "", EDITOR_NONE)
    	//! Смещение визуальной модели в прицеливании
    	DEFINE_FIELD_VECTOR(m_vSlotPosAim, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_offset_aim", "", EDITOR_NONE)
    	//! Вращение визуальной модели в прицеливании
    	DEFINE_FIELD_ANGLES(m_qSlotRotAim, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_rotation_aim", "", EDITOR_NONE)
    	//! Смещение визуальной модели при приближении к стене
    	DEFINE_FIELD_VECTOR(m_vSlotPosClose, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_offset_close", "", EDITOR_NONE)
    	//! Вращение визуальной модели при приближении к стене
    	DEFINE_FIELD_ANGLES(m_qSlotRotClose, PDFF_NOEDIT | PDFF_NOEXPORT, "slot_rotation_close", "", EDITOR_NONE)
    
    	//! Расстояние от центра модели до кончика ствола
    	DEFINE_FIELD_FLOAT(m_fCenterLength, PDFF_NOEDIT | PDFF_NOEXPORT, "center_length", "", EDITOR_NONE)
    	
    	//! Разрешить прицеливание
    	DEFINE_FIELD_INT(m_iZoomable, PDFF_NOEDIT | PDFF_NOEXPORT, "zoomable", "", EDITOR_NONE)
    
    	//! Звук первичного действия
    	DEFINE_FIELD_STRING(m_szPrimaryActionSound, PDFF_NOEDIT | PDFF_NOEXPORT, "action1_sound", "", EDITOR_NONE)
    	//! Звук вторичного действия
    	DEFINE_FIELD_STRING(m_szSecondaryActionSound, PDFF_NOEDIT | PDFF_NOEXPORT, "action2_sound", "", EDITOR_NONE)
    	//! Эффект первичного действия
    	DEFINE_FIELD_STRING(m_szPrimaryActionMuzzleflash, PDFF_NOEDIT | PDFF_NOEXPORT, "action1_muzzle", "", EDITOR_NONE)
    	//! Эффект вторичного действия
    	DEFINE_FIELD_STRING(m_szSecondaryActionMuzzleflash, PDFF_NOEDIT | PDFF_NOEXPORT, "action2_muzzle", "", EDITOR_NONE)
    	
    	//! Максимальная дальность
    	DEFINE_FIELD_FLOAT(m_fMaxDistance, PDFF_NOEDIT | PDFF_NOEXPORT, "max_distance", "", EDITOR_NONE)
    	//! Подходящие типы припасов, классы, через запятую
    	DEFINE_FIELD_STRING(m_szUsableAmmos, PDFF_NOEDIT | PDFF_NOEXPORT, "ammos", "", EDITOR_NONE)
    	//! Класс заряженного в данный момент припаса
    	DEFINE_FIELD_STRING(m_szLoadedAmmo, PDFF_NOEDIT | PDFF_NOEXPORT, "loaded_ammo", "", EDITOR_NONE)
    
    END_PROPTABLE()
    
    REGISTER_ENTITY_NOLISTING(CBaseTool, base_tool);
    
    CBaseTool::CBaseTool(CEntityManager * pMgr):
    	BaseClass(pMgr),
    	m_bInPrimaryAction(false),
    	m_bInSecondaryAction(false),
    	m_bWorldModel(false),
    	m_bCanUse(true),
    	m_fZoomTime(0.0f),
    	m_fReloadTime(0.0f),