; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.3077 

	TITLE	.\jfwgun.cpp
	.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS	ENDS
$$SYMBOLS	SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS	ENDS
$$TYPES	SEGMENT BYTE USE32 'DEBTYP'
$$TYPES	ENDS
_TLS	SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS	ENDS
;	COMDAT ??_C@_07PHDJHIPA@Positon?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_06KLEAFNAE@Weapon?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_09PNPOKIHD@Max_Range?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_09PMPCDCMH@Min_Range?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07MGEGCLJM@Visible?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07BKNIGNOC@Preset8?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07JNEAHBCN@Preset7?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07IEFLEAGM@Preset6?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07KPHGBDKP@Preset5?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07LGGNCCOO@Preset4?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07PJCMLECJ@Preset3?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07OADHIFGI@Preset2?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_07MLBKNGKL@Preset1?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0M@JJMJELJO@EffectFrame?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0L@KBDJNGME@EffectTime?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_05MAHMNMLO@Sound?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
CRT$XCA	SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCA	ENDS
CRT$XCU	SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCU	ENDS
CRT$XCL	SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCL	ENDS
CRT$XCC	SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCC	ENDS
CRT$XCZ	SEGMENT DWORD USE32 PUBLIC 'DATA'
CRT$XCZ	ENDS
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT _acosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceill
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10l
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modfl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhl
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _frexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ldexpf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _acosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _asinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _atan2f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _ceilf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _cosf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _coshf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _expf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fabsf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _floorf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _fmodf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _logf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _log10f
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _modff
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _powf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sinhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _sqrtf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _tanhf
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?GetID@GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SetFactory@ScriptImpClass@@QAEXPAVScriptFactory@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0ActionParamsStruct@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KKJ@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ReceiveSignal@cGameData@@UAEXAAV?$TypedEventPair@_NH@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameData@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Render@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Choose_Player_Type@cGameData@@UAEHPAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameData@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameData@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Single_Player@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Skirmish@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Cnc@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Single_Player@cGameData@@UAEPAVcGameDataSinglePlayer@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Skirmish@cGameData@@UAEPAVcGameDataSkirmish@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Cnc@cGameData@@UAEPAVcGameDataCnc@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Min_Players@cGameData@@UAEIXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Settings@cGameData@@UAE_NAAVWideStringClass@@_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_1_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_1_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_1_Data_Wol@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_2_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_2_Data@cGameData@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Gameplay_Permitted@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remember_Inventory@cGameData@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameData@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameData@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataCnc@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataCnc@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataCnc@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameDataCnc@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameDataCnc@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Cnc@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Cnc@cGameDataCnc@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Settings@cGameDataCnc@@UAE_NAAVWideStringClass@@_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Export_Tier_2_Data@cGameDataCnc@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Import_Tier_2_Data@cGameDataCnc@@UAEXPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Gameplay_Permitted@cGameDataCnc@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameDataCnc@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataCnc@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataSkirmish@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_Begin@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Game_End@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Think@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Reset_Game@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataSkirmish@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataSkirmish@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load_From_Server_Config@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save_To_Server_Config@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Teaming@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Clan_Game@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Editable_Friendly_Fire@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Soldier_Added@cGameDataSkirmish@@UAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Show_Game_Settings_Limits@cGameDataSkirmish@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Skirmish@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Skirmish@cGameDataSkirmish@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Game_Over@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataSkirmish@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Description@cGameDataSkirmish@@UAEXAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataSkirmish@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1cGameDataSinglePlayer@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Name@cGameDataSinglePlayer@@UAE?AVWideStringClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Game_Type@cGameDataSinglePlayer@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Choose_Player_Type@cGameDataSinglePlayer@@UAEHPAXH_N@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Single_Player@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?As_Single_Player@cGameDataSinglePlayer@@UAEPAV1@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Limited@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Remember_Inventory@cGameDataSinglePlayer@@UAE_NXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GcGameDataSinglePlayer@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PostLoadableClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?On_Post_Load@PostLoadableClass@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPostLoadableClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PersistClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@PersistClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@PersistClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPersistClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1EditableClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Parameter_Count@EditableClass@@UAEHXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Lock_Parameter@EditableClass@@UAEPAXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Unlock_Parameter@EditableClass@@UAEXH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GEditableClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1DefinitionClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@DefinitionClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@DefinitionClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_ID@DefinitionClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_ID@DefinitionClass@@UAEXK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Name@DefinitionClass@@UAEPADXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Set_Name@DefinitionClass@@UAEXPAD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Is_Valid_Config@DefinitionClass@@UAE_NPBD@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GDefinitionClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1TeamPurchaseSettingsDefClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Factory@TeamPurchaseSettingsDefClass@@UAEPAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@TeamPurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@TeamPurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Class_ID@TeamPurchaseSettingsDefClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@TeamPurchaseSettingsDefClass@@UAEPAVPersistClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GTeamPurchaseSettingsDefClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1PurchaseSettingsDefClass@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Factory@PurchaseSettingsDefClass@@UAEPAXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Save@PurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Load@PurchaseSettingsDefClass@@UAE_NPAX@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Get_Class_ID@PurchaseSettingsDefClass@@UAEKXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@PurchaseSettingsDefClass@@UAEPAVPersistClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GPurchaseSettingsDefClass@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E1
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E2
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E4
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E5
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E7
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E8
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E10
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E11
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E13
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E14
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E16
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E17
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E19
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E20
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E22
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E23
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E25
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E26
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E28
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E29
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E31
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E32
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E34
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E35
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E37
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E38
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E40
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E41
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E43
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E44
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E46
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E47
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E49
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E50
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E52
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E53
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E55
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E56
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E58
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E59
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E61
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E62
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E64
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E65
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E67
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E68
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E70
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E71
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E73
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E74
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E76
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E77
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E79
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E80
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E82
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E83
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E85
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E86
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E88
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E89
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E91
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E92
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E94
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E95
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E97
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E98
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E100
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E101
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E103
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E104
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E106
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E107
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E109
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E110
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E112
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E113
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E115
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E116
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E118
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E119
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E121
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E122
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E124
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E125
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E127
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E128
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E130
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E131
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E133
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E134
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E136
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E137
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E139
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E140
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E142
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E143
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E145
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E146
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E148
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E149
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E151
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E152
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E154
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E155
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E157
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E158
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E160
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E161
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E163
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E164
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E166
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E167
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E169
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E170
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E172
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E173
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E175
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E176
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT _$E178
text$yc	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yc	ENDS
;	COMDAT _$E179
text$yd	SEGMENT PARA USE32 PUBLIC 'CODE'
text$yd	ENDS
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@VWideStringClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@VWideStringClass@@@@UAE_NHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@VWideStringClass@@@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@VWideStringClass@@@@UAEHAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@VWideStringClass@@@@UAEHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@VWideStringClass@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@VWideStringClass@@@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@VWideStringClass@@@@UAE_NHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@VWideStringClass@@@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@VWideStringClass@@@@UAEHAAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@VWideStringClass@@@@UAEHPAVWideStringClass@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ReceiveSignal@?$Signaler@V?$TypedEventPair@_NH@@@@UAEXAAV?$TypedEventPair@_NH@@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?SignalDropped@?$Signaler@V?$TypedEventPair@_NH@@@@UAEXAAV1@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$Signaler@V?$TypedEventPair@_NH@@@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@PAE@@UAE_NHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@PAE@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAE@@UAEHAAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAE@@UAEHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@PAE@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@PAE@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@PAE@@UAE_NHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@PAE@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHAAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAE@@UAEHPAPAE@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$DynamicVectorClass@PAK@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$DynamicVectorClass@PAK@@UAE_NHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$DynamicVectorClass@PAK@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAK@@UAEHAAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$DynamicVectorClass@PAK@@UAEHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1?$VectorClass@PAK@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??8?$VectorClass@PAK@@UAE_NAAV0@@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Resize@?$VectorClass@PAK@@UAE_NHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Clear@?$VectorClass@PAK@@UAEXXZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAK@@UAEHAAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?ID@?$VectorClass@PAK@@UAEHPAPAK@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@VWideStringClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@VWideStringClass@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$Signaler@V?$TypedEventPair@_NH@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@PAE@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$DynamicVectorClass@PAK@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$VectorClass@PAK@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@N@@YANNH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@H@@YAHHH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@M@@YAMMH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??$_Pow_int@O@@YAOOH@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??0JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@QAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7TeamPurchaseSettingsDefClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@VWideStringClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataSkirmish@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7DefinitionClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PurchaseSettingsDefClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@PAK@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PostLoadableClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$Signaler@V?$TypedEventPair@_NH@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@VWideStringClass@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7PersistClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameData@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataSinglePlayer@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$VectorClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@PAE@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7EditableClass@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7cGameDataCnc@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$DynamicVectorClass@PAK@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
sxdata	SEGMENT DWORD USE32 'SXDATA'
sxdata	ENDS
FLAT	GROUP _DATA, CONST, _BSS
	ASSUME	CS: FLAT, DS: FLAT, SS: FLAT
endif

INCLUDELIB LIBCMT
INCLUDELIB OLDNAMES

PUBLIC	?GetID@GameObjObserverClass@@QAEHXZ		; GameObjObserverClass::GetID
; Function compile flags: /Ogty
; File c:\documents and settings\owner\desktop\ssctf 1.3\scripts.h
;	COMDAT ?GetID@GameObjObserverClass@@QAEHXZ
_TEXT	SEGMENT
?GetID@GameObjObserverClass@@QAEHXZ PROC NEAR		; GameObjObserverClass::GetID, COMDAT
; _this$ = ecx

; 90   : 		return ID;

	mov	eax, DWORD PTR [ecx+4]

; 91   : 	}

	ret	0
?GetID@GameObjObserverClass@@QAEHXZ ENDP		; GameObjObserverClass::GetID
_TEXT	ENDS
PUBLIC	??0ActionParamsStruct@@QAE@XZ			; ActionParamsStruct::ActionParamsStruct
EXTRN	__fltused:NEAR
; Function compile flags: /Ogty
;	COMDAT ??0ActionParamsStruct@@QAE@XZ
_TEXT	SEGMENT
??0ActionParamsStruct@@QAE@XZ PROC NEAR			; ActionParamsStruct::ActionParamsStruct, COMDAT
; _this$ = ecx

; 221  : {

	mov	eax, ecx

; 222  : 	Action_Priority = 0;

	xor	ecx, ecx

; 223  : 	Action_ID = 0;
; 224  : 	Observer_ID = 0;
; 225  : 	varB8.X = 0;
; 226  : 	varB8.Y = 0;
; 227  : 	varB8.Z = 0;
; 228  : 	varAC = 0;
; 229  : 	varA8 = 0;
; 230  : 	Move_Destination.X = 0;
; 231  : 	Move_Destination.Y = 0;
; 232  : 	Move_Destination.Z = 0;
; 233  : 	Move_Target = 0;
; 234  : 	var94.X = 0;
; 235  : 	var94.Y = 0;
; 236  : 	var94.Z = 0;
; 237  : 	Move_Speed = 1.0;
; 238  : 	Move_Arrive_Distance = 1000;
; 239  : 	Move_Backwards = false;
; 240  : 	Move_Following = false;
; 241  : 	Move_Crouch = false;
; 242  : 	Move_Pathfind = true;

	mov	dl, 1
	mov	DWORD PTR [eax], ecx
	mov	DWORD PTR [eax+4], ecx
	mov	DWORD PTR [eax+8], ecx
	mov	DWORD PTR [eax+12], ecx
	mov	DWORD PTR [eax+16], ecx
	mov	DWORD PTR [eax+20], ecx
	mov	DWORD PTR [eax+24], ecx
	mov	DWORD PTR [eax+28], ecx
	mov	DWORD PTR [eax+32], ecx
	mov	DWORD PTR [eax+36], ecx
	mov	DWORD PTR [eax+40], ecx
	mov	DWORD PTR [eax+44], ecx
	mov	DWORD PTR [eax+48], ecx
	mov	DWORD PTR [eax+52], ecx
	mov	DWORD PTR [eax+56], ecx
	mov	DWORD PTR [eax+60], 1065353216		; 3f800000H
	mov	DWORD PTR [eax+64], 1148846080		; 447a0000H
	mov	BYTE PTR [eax+68], cl
	mov	BYTE PTR [eax+69], cl
	mov	BYTE PTR [eax+70], cl
	mov	BYTE PTR [eax+71], dl

; 243  : 	var7C = false;

	mov	BYTE PTR [eax+72], cl

; 244  : 	Attack_Range = 20;

	mov	DWORD PTR [eax+76], 1101004800		; 41a00000H

; 245  : 	Attack_Deviation = 0;

	mov	DWORD PTR [eax+80], ecx

; 246  : 	var70 = false;

	mov	BYTE PTR [eax+84], cl

; 247  : 	Attack_Target = 0;

	mov	DWORD PTR [eax+88], ecx

; 248  : 	Attack_Primary = true;

	mov	BYTE PTR [eax+92], dl

; 249  : 	Attack_Crouched = false;

	mov	BYTE PTR [eax+93], cl

; 250  : 	Attack_Location.X = 0;

	mov	DWORD PTR [eax+96], ecx

; 251  : 	Attack_Location.Y = 0;

	mov	DWORD PTR [eax+100], ecx

; 252  : 	Attack_Location.Z = 0;

	mov	DWORD PTR [eax+104], ecx

; 253  : 	Hold_Action = true;

	mov	BYTE PTR [eax+108], dl

; 254  : 	var57 = true;

	mov	BYTE PTR [eax+109], dl

; 255  : 	var56 = false;

	mov	BYTE PTR [eax+110], cl

; 256  : 	var55 = true;

	mov	BYTE PTR [eax+111], dl

; 257  : 	var54 = false;

	mov	BYTE PTR [eax+112], cl

; 258  : 	var53 = false;

	mov	BYTE PTR [eax+113], cl

; 259  : 	Face_Location.X = 0;

	mov	DWORD PTR [eax+116], ecx

; 260  : 	Face_Location.Y = 0;

	mov	DWORD PTR [eax+120], ecx

; 261  : 	Face_Location.Z = 0;

	mov	DWORD PTR [eax+124], ecx

; 262  : 	Face_Time = 2.0;

	mov	DWORD PTR [eax+128], 1073741824		; 40000000H

; 263  : 	var40 = false;

	mov	BYTE PTR [eax+132], cl

; 264  : 	Move_Waypath_ID = 0;

	mov	DWORD PTR [eax+136], ecx

; 265  : 	Move_Waypath_Start_ID = 0;

	mov	DWORD PTR [eax+140], ecx

; 266  : 	Move_Waypath_End_ID = 0;

	mov	DWORD PTR [eax+144], ecx

; 267  : 	Move_Waypath_Splined = false;

	mov	BYTE PTR [eax+148], cl

; 268  : 	Anim_Name = 0;

	mov	DWORD PTR [eax+152], ecx

; 269  : 	Anim_Loop = false;

	mov	BYTE PTR [eax+156], cl

; 270  : 	var24 = 0;

	mov	DWORD PTR [eax+160], ecx

; 271  : 	var20 = 0;

	mov	DWORD PTR [eax+164], ecx

; 272  : 	Soldier_AI_State = -1;

	mov	DWORD PTR [eax+168], -1

; 273  : 	Dock_Location.X = 0;

	mov	DWORD PTR [eax+172], ecx

; 274  : 	Dock_Location.Y = 0;

	mov	DWORD PTR [eax+176], ecx

; 275  : 	Dock_Location.Z = 0;

	mov	DWORD PTR [eax+180], ecx

; 276  : 	Dock_Entrance.X = 0;

	mov	DWORD PTR [eax+184], ecx

; 277  : 	Dock_Entrance.Y = 0;

	mov	DWORD PTR [eax+188], ecx

; 278  : 	Dock_Entrance.Z = 0;

	mov	DWORD PTR [eax+192], ecx

; 279  : }

	ret	0
??0ActionParamsStruct@@QAE@XZ ENDP			; ActionParamsStruct::ActionParamsStruct
_TEXT	ENDS
PUBLIC	?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KKJ@Z ; ActionParamsStruct::Set_Basic
; Function compile flags: /Ogty
;	COMDAT ?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KKJ@Z
_TEXT	SEGMENT
_s$ = 8							; size = 4
_priority$ = 12						; size = 4
_ID$ = 16						; size = 4
_state$ = 20						; size = 4
?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KKJ@Z PROC NEAR ; ActionParamsStruct::Set_Basic, COMDAT
; _this$ = ecx

; 380  : 	ID = s->GetID();

	mov	eax, DWORD PTR _s$[esp-4]
	mov	eax, DWORD PTR [eax+4]

; 381  : 	Action_Priority = priority;

	mov	edx, DWORD PTR _priority$[esp-4]

; 382  : 	Action_ID = ID;

	mov	DWORD PTR [ecx+4], eax

; 383  : 	Soldier_AI_State = state;

	mov	eax, DWORD PTR _state$[esp-4]
	mov	DWORD PTR [ecx], edx
	mov	DWORD PTR [ecx+168], eax

; 384  : }

	ret	16					; 00000010H
?Set_Basic@ActionParamsStruct@@QAEXPAVScriptClass@@KKJ@Z ENDP ; ActionParamsStruct::Set_Basic
_TEXT	ENDS
PUBLIC	?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z	; ActionParamsStruct::Set_Attack
; Function compile flags: /Ogty
;	COMDAT ?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z
_TEXT	SEGMENT
_Target$ = 8						; size = 4
_Range$ = 12						; size = 4
_Deviation$ = 16					; size = 4
_Primary$ = 20						; size = 1
?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z PROC NEAR	; ActionParamsStruct::Set_Attack, COMDAT
; _this$ = ecx

; 388  : 	Attack_Target = Target;

	mov	eax, DWORD PTR _Target$[esp-4]

; 389  : 	Attack_Range = Range;

	mov	edx, DWORD PTR _Range$[esp-4]
	mov	DWORD PTR [ecx+88], eax

; 390  : 	Attack_Deviation = Deviation;

	mov	eax, DWORD PTR _Deviation$[esp-4]
	mov	DWORD PTR [ecx+76], edx

; 391  : 	Attack_Primary = Primary;

	mov	dl, BYTE PTR _Primary$[esp-4]
	mov	DWORD PTR [ecx+80], eax
	mov	BYTE PTR [ecx+92], dl

; 392  : }

	ret	16					; 00000010H
?Set_Attack@ActionParamsStruct@@QAEXPAEMM_N@Z ENDP	; ActionParamsStruct::Set_Attack
_TEXT	ENDS
PUBLIC	??_C@_07PHDJHIPA@Positon?$AA@			; `string'
PUBLIC	??_C@_06KLEAFNAE@Weapon?$AA@			; `string'
PUBLIC	??_C@_09PNPOKIHD@Max_Range?$AA@			; `string'
PUBLIC	??_C@_09PMPCDCMH@Min_Range?$AA@			; `string'
PUBLIC	??_C@_07MGEGCLJM@Visible?$AA@			; `string'
PUBLIC	??_C@_0P@EAIDILHB@Disable_Custom?$AA@		; `string'
PUBLIC	??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@	; `string'
PUBLIC	?Created@JFW_Building_Gun@@EAEXPAE@Z		; JFW_Building_Gun::Created
EXTRN	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z:NEAR	; ScriptImpClass::Get_Parameter
EXTRN	_sprintf:NEAR
EXTRN	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z:NEAR ; ScriptImpClass::Get_Vector3_Parameter
EXTRN	?Commands@@3PAUScriptCommands@@A:DWORD		; Commands
;	COMDAT ??_C@_07PHDJHIPA@Positon?$AA@
; File c:\documents and settings\owner\desktop\ssctf 1.3\jfwgun.cpp
CONST	SEGMENT
??_C@_07PHDJHIPA@Positon?$AA@ DB 'Positon', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_06KLEAFNAE@Weapon?$AA@
CONST	SEGMENT
??_C@_06KLEAFNAE@Weapon?$AA@ DB 'Weapon', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_09PNPOKIHD@Max_Range?$AA@
CONST	SEGMENT
??_C@_09PNPOKIHD@Max_Range?$AA@ DB 'Max_Range', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_09PMPCDCMH@Min_Range?$AA@
CONST	SEGMENT
??_C@_09PMPCDCMH@Min_Range?$AA@ DB 'Min_Range', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_07MGEGCLJM@Visible?$AA@
CONST	SEGMENT
??_C@_07MGEGCLJM@Visible?$AA@ DB 'Visible', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0P@EAIDILHB@Disable_Custom?$AA@
CONST	SEGMENT
??_C@_0P@EAIDILHB@Disable_Custom?$AA@ DB 'Disable_Custom', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%s,%s,%s,%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
CONST	SEGMENT
??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@ DB 'JFW_Building_Gun_Weap'
	DB	'on', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T14894 = -1024						; size = 12
$T14895 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun@@EAEXPAE@Z PROC NEAR		; JFW_Building_Gun::Created, COMDAT
; _this$ = ecx

; 18   : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 19   : 	Vector3 v,v2;
; 20   : 	GameObject *object;
; 21   : 	const char *weapon;
; 22   : 	char params[1000];
; 23   : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T14894[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 24   : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T14895[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 25   : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 26   : 	v.Y += v2.Y;
; 27   : 	v.Z += v2.Z;
; 28   : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 29   : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 30   : 	if (object)

	test	edi, edi
	je	SHORT $L7779

; 31   : 	{
; 32   : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 33   : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 34   : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 35   : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L7779:
	pop	edi
	pop	esi
	pop	ebx

; 36   : 	}
; 37   : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun@@EAEXPAE@Z ENDP		; JFW_Building_Gun::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun@@EAEXPAE0@Z		; JFW_Building_Gun::Killed
EXTRN	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z:NEAR ; ScriptImpClass::Get_Int_Parameter
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun@@EAEXPAE0@Z PROC NEAR		; JFW_Building_Gun::Killed, COMDAT
; _this$ = ecx

; 40   : {

	push	esi
	mov	esi, ecx

; 41   : 	GameObject *object;
; 42   : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 43   : 	int x;
; 44   : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 45   : 	if (object)

	test	edi, edi
	je	SHORT $L7793

; 46   : 	{
; 47   : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L7793:
	pop	edi
	pop	esi

; 48   : 	}
; 49   : }

	ret	8
?Killed@JFW_Building_Gun@@EAEXPAE0@Z ENDP		; JFW_Building_Gun::Killed
_TEXT	ENDS
PUBLIC	__real@00000000
PUBLIC	?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z	; JFW_Building_Gun::Timer_Expired
;	COMDAT __real@00000000
CONST	SEGMENT
__real@00000000 DD 000000000r			; 0
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z PROC NEAR	; JFW_Building_Gun::Timer_Expired, COMDAT
; _this$ = ecx

; 52   : {

	push	ebp
	push	edi

; 53   : 	float health;
; 54   : 	bool power;
; 55   : 	GameObject *object;
; 56   : 	int x;
; 57   : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 58   : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L7803

; 59   : 	{
; 60   : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 61   : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 62   : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 63   : 		if (object)

	test	ecx, ecx
	je	SHORT $L14904

; 64   : 		{
; 65   : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L7806
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L7806

; 68   : 			}
; 69   : 			else
; 70   : 			{
; 71   : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L14905
$L7806:

; 66   : 			{
; 67   : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L14905:
	add	esp, 20					; 00000014H
$L14904:

; 72   : 			}
; 73   : 		}
; 74   : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L7803:
	pop	edi
	pop	ebp

; 75   : 	}
; 76   : }

	ret	8
?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z ENDP	; JFW_Building_Gun::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ ; JFW_Building_Gun::Register_Auto_Save_Variables
EXTRN	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z:NEAR ; ScriptImpClass::Auto_Save_Variable
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ PROC NEAR ; JFW_Building_Gun::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 80   : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 81   : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ ENDP ; JFW_Building_Gun::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z	; JFW_Building_Gun_Weapon::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z PROC NEAR	; JFW_Building_Gun_Weapon::Created, COMDAT
; _this$ = ecx

; 84   : {

	push	esi
	push	edi

; 85   : 	int visible;
; 86   : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 87   : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 88   : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 89   : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 90   : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 91   : }

	ret	4
?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Weapon::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z	; JFW_Building_Gun_Weapon::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z PROC NEAR	; JFW_Building_Gun_Weapon::Custom, COMDAT
; _this$ = ecx

; 95   : 	int msg;
; 96   : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 97   : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L7824

; 98   : 	{
; 99   : 		Commands->Enable_Enemy_Seen(obj,param);

	mov	edx, DWORD PTR _param$[esp-4]
	mov	ecx, DWORD PTR _obj$[esp-4]
	test	edx, edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	setne	al
	push	eax
	push	ecx
	call	DWORD PTR [edx+300]
	add	esp, 8
$L7824:

; 100  : 	}
; 101  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z ENDP	; JFW_Building_Gun_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z	; JFW_Building_Gun_Weapon::Enemy_Seen
EXTRN	?Get_Vehicle@@YAPAEPAE@Z:NEAR			; Get_Vehicle
EXTRN	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z:NEAR ; ScriptImpClass::Get_Float_Parameter
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$ = -240						; size = 12
_pos$ = -228						; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T14921 = -208						; size = 12
$T14919 = -208						; size = 12
_params$7840 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 104  : {

	sub	esp, 244				; 000000f4H
	push	ebx
	push	esi
	push	edi

; 105  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+252]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 106  : 	if (o)

	test	eax, eax
	je	SHORT $L7831

; 107  : 	{
; 108  : 		seen = o;

	mov	edi, eax
$L7831:

; 109  : 	}
; 110  : 	float minrange;
; 111  : 	float maxrange;
; 112  : 	float range;
; 113  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 114  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 115  : 	Vector3 pos,pos2;
; 116  : 	pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T14919[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 117  : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T14921[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 118  : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+276]
	mov	DWORD PTR _pos2$[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 119  : 	pos.Z = 0;
; 120  : 	pos2.Z = 0;
; 121  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+284]
	push	ecx
	mov	DWORD PTR _pos$[esp+296], 0
	mov	DWORD PTR _pos2$[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L7839
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L7839

; 122  : 	{
; 123  : 		ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$7840[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 124  : 		params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 125  : 		params.Set_Attack(seen,maxrange,0,true);

	mov	ecx, DWORD PTR _maxrange$[esp+256]

; 126  : 		Commands->Action_Attack(obj,params);

	lea	edx, DWORD PTR _params$7840[esp+256]
	push	edx
	mov	DWORD PTR _params$7840[esp+264], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$7840[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$7840[esp+432], -1
	mov	DWORD PTR _params$7840[esp+352], edi
	mov	DWORD PTR _params$7840[esp+340], ecx
	mov	DWORD PTR _params$7840[esp+344], 0
	mov	BYTE PTR _params$7840[esp+356], 1
	call	DWORD PTR [eax+20]

; 127  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [ecx+128]
	add	esp, 24					; 00000018H
$L7839:
	pop	edi
	pop	esi
	pop	ebx

; 128  : 	}
; 129  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Weapon::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 133  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L7846

; 134  : 	{
; 135  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L7846:

; 136  : 	}
; 137  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z ENDP	; JFW_Building_Gun_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_07BKNIGNOC@Preset8?$AA@			; `string'
PUBLIC	??_C@_07JNEAHBCN@Preset7?$AA@			; `string'
PUBLIC	??_C@_07IEFLEAGM@Preset6?$AA@			; `string'
PUBLIC	??_C@_07KPHGBDKP@Preset5?$AA@			; `string'
PUBLIC	??_C@_07LGGNCCOO@Preset4?$AA@			; `string'
PUBLIC	??_C@_07PJCMLECJ@Preset3?$AA@			; `string'
PUBLIC	??_C@_07OADHIFGI@Preset2?$AA@			; `string'
PUBLIC	??_C@_07MLBKNGKL@Preset1?$AA@			; `string'
PUBLIC	??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_No_Aircraft::Created
;	COMDAT ??_C@_07BKNIGNOC@Preset8?$AA@
CONST	SEGMENT
??_C@_07BKNIGNOC@Preset8?$AA@ DB 'Preset8', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07JNEAHBCN@Preset7?$AA@
CONST	SEGMENT
??_C@_07JNEAHBCN@Preset7?$AA@ DB 'Preset7', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07IEFLEAGM@Preset6?$AA@
CONST	SEGMENT
??_C@_07IEFLEAGM@Preset6?$AA@ DB 'Preset6', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07KPHGBDKP@Preset5?$AA@
CONST	SEGMENT
??_C@_07KPHGBDKP@Preset5?$AA@ DB 'Preset5', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07LGGNCCOO@Preset4?$AA@
CONST	SEGMENT
??_C@_07LGGNCCOO@Preset4?$AA@ DB 'Preset4', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07PJCMLECJ@Preset3?$AA@
CONST	SEGMENT
??_C@_07PJCMLECJ@Preset3?$AA@ DB 'Preset3', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07OADHIFGI@Preset2?$AA@
CONST	SEGMENT
??_C@_07OADHIFGI@Preset2?$AA@ DB 'Preset2', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_07MLBKNGKL@Preset1?$AA@
CONST	SEGMENT
??_C@_07MLBKNGKL@Preset1?$AA@ DB 'Preset1', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT
??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@ DB 'JFW_Building_Gun_'
	DB	'Weapon_No_Aircraft', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T14942 = -1024						; size = 12
$T14943 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 140  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 141  : 	Vector3 v,v2;
; 142  : 	GameObject *object;
; 143  : 	const char *weapon;
; 144  : 	char params[1000];
; 145  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T14942[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 146  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T14943[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 147  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 148  : 	v.Y += v2.Y;
; 149  : 	v.Z += v2.Z;
; 150  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 151  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 152  : 	if (object)

	test	edi, edi
	je	$L7858

; 153  : 	{
; 154  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 155  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 156  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET FLAT:??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 157  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_Aircraft",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET FLAT:??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 68					; 00000044H
$L7858:
	pop	edi
	pop	esi
	pop	ebx

; 158  : 	}
; 159  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z ENDP	; JFW_Building_Gun_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_No_Aircraft::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 162  : {

	push	esi
	mov	esi, ecx

; 163  : 	GameObject *object;
; 164  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 165  : 	int x;
; 166  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 167  : 	if (object)

	test	edi, edi
	je	SHORT $L7876

; 168  : 	{
; 169  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L7876:
	pop	edi
	pop	esi

; 170  : 	}
; 171  : }

	ret	8
?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 174  : {

	push	ebp
	push	edi

; 175  : 	float health;
; 176  : 	bool power;
; 177  : 	GameObject *object;
; 178  : 	int x;
; 179  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 180  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L7886

; 181  : 	{
; 182  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 183  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 184  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 185  : 		if (object)

	test	ecx, ecx
	je	SHORT $L14950

; 186  : 		{
; 187  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L7889
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L7889

; 190  : 			}
; 191  : 			else
; 192  : 			{
; 193  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L14951
$L7889:

; 188  : 			{
; 189  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L14951:
	add	esp, 20					; 00000014H
$L14950:

; 194  : 			}
; 195  : 		}
; 196  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L7886:
	pop	edi
	pop	ebp

; 197  : 	}
; 198  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ ; JFW_Building_Gun_No_Aircraft::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ PROC NEAR ; JFW_Building_Gun_No_Aircraft::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 202  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 203  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 206  : {

	push	esi
	push	edi

; 207  : 	int visible;
; 208  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 209  : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 210  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 211  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 212  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 213  : }

	ret	4
?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::Custom, COMDAT
; _this$ = ecx

; 217  : 	int msg;
; 218  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 219  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L7909

; 220  : 	{
; 221  : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L7908

; 222  : 		{
; 223  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 224  : 		}
; 225  : 		else
; 226  : 		{
; 227  : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 228  : 		}
; 229  : 	}
; 230  : }

	ret	16					; 00000010H
$L7908:

; 224  : 		}
; 225  : 		else
; 226  : 		{
; 227  : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L7909:

; 228  : 		}
; 229  : 	}
; 230  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen
EXTRN	_stricmp:NEAR
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$7922 = -240					; size = 12
_pos$7921 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T14968 = -208						; size = 12
$T14966 = -208						; size = 12
_params$7926 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 233  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 234  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 235  : 	if (o)

	test	eax, eax
	je	SHORT $L7916

; 236  : 	{
; 237  : 		seen = o;

	mov	edi, eax
$L7916:

; 238  : 	}
; 239  : 	float minrange;
; 240  : 	float maxrange;
; 241  : 	float range;
; 242  : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7925
	push	ebx

; 243  : 	{
; 244  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 245  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 246  : 		Vector3 pos,pos2;
; 247  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T14966[esp+256]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$7921[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$7921[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 248  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T14968[esp+264]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$7921[esp+280], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$7922[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$7922[esp+276], edx
	mov	eax, DWORD PTR [eax+8]

; 249  : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$7922[esp+272]
	push	ecx
	lea	edx, DWORD PTR _pos$7921[esp+276]
	mov	DWORD PTR _pos2$7922[esp+284], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$[esp+280]

; 250  : 		pos.Z = 0;
; 251  : 		pos2.Z = 0;
; 252  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$7922[esp+280]
	push	ecx
	lea	edx, DWORD PTR _pos$7921[esp+284]
	push	edx
	mov	DWORD PTR _pos$7921[esp+296], 0
	mov	DWORD PTR _pos2$7922[esp+296], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L14982
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L14982

; 253  : 		{
; 254  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$7926[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 255  : 			params.Set_Basic(this,100,1,-1);

	mov	ecx, DWORD PTR [esi+4]

; 256  : 			params.Set_Attack(seen,maxrange,0,true);

	mov	edx, DWORD PTR _maxrange$[esp+256]

; 257  : 			Commands->Action_Attack(obj,params);

	lea	eax, DWORD PTR _params$7926[esp+256]
	push	eax
	mov	DWORD PTR _params$7926[esp+264], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$7926[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$7926[esp+432], -1
	mov	DWORD PTR _params$7926[esp+352], edi
	mov	DWORD PTR _params$7926[esp+340], edx
	mov	DWORD PTR _params$7926[esp+344], 0
	mov	BYTE PTR _params$7926[esp+356], 1
	call	DWORD PTR [ecx+20]

; 258  : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [edx+128]
	add	esp, 24					; 00000018H
$L14982:
	pop	ebx
$L7925:
	pop	edi
	pop	esi

; 259  : 		}
; 260  : 	}
; 261  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 265  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L7932

; 266  : 	{
; 267  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L7932:

; 268  : 	}
; 269  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Aircraft_Only::Created
PUBLIC	??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@ ; `string'
;	COMDAT ??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT
??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@ DB 'JFW_Building_Gun'
	DB	'_Weapon_Aircraft_Only', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T14990 = -1024						; size = 12
$T14991 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 272  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 273  : 	Vector3 v,v2;
; 274  : 	GameObject *object;
; 275  : 	const char *weapon;
; 276  : 	char params[1000];
; 277  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T14990[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 278  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T14991[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 279  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 280  : 	v.Y += v2.Y;
; 281  : 	v.Z += v2.Z;
; 282  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 283  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 284  : 	if (object)

	test	edi, edi
	je	$L7944

; 285  : 	{
; 286  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 287  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 288  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET FLAT:??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 289  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Aircraft_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET FLAT:??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 68					; 00000044H
$L7944:
	pop	edi
	pop	esi
	pop	ebx

; 290  : 	}
; 291  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Aircraft_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 294  : {

	push	esi
	mov	esi, ecx

; 295  : 	GameObject *object;
; 296  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 297  : 	int x;
; 298  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 299  : 	if (object)

	test	edi, edi
	je	SHORT $L7953

; 300  : 	{
; 301  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L7953:
	pop	edi
	pop	esi

; 302  : 	}
; 303  : }

	ret	8
?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 306  : {

	push	ebp
	push	edi

; 307  : 	float health;
; 308  : 	bool power;
; 309  : 	GameObject *object;
; 310  : 	int x;
; 311  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 312  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L7963

; 313  : 	{
; 314  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 315  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 316  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 317  : 		if (object)

	test	ecx, ecx
	je	SHORT $L14998

; 318  : 		{
; 319  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L7966
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L7966

; 322  : 			}
; 323  : 			else
; 324  : 			{
; 325  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L14999
$L7966:

; 320  : 			{
; 321  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L14999:
	add	esp, 20					; 00000014H
$L14998:

; 326  : 			}
; 327  : 		}
; 328  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L7963:
	pop	edi
	pop	ebp

; 329  : 	}
; 330  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 334  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 335  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 338  : {

	push	esi
	push	edi

; 339  : 	int visible;
; 340  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 341  : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 342  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 343  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 344  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 345  : }

	ret	4
?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::Custom, COMDAT
; _this$ = ecx

; 349  : 	int msg;
; 350  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 351  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L7986

; 352  : 	{
; 353  : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L7985

; 354  : 		{
; 355  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 356  : 		}
; 357  : 		else
; 358  : 		{
; 359  : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 360  : 		}
; 361  : 	}
; 362  : }

	ret	16					; 00000010H
$L7985:

; 356  : 		}
; 357  : 		else
; 358  : 		{
; 359  : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L7986:

; 360  : 		}
; 361  : 	}
; 362  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$8000 = -240					; size = 12
_pos$7999 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15016 = -208						; size = 12
$T15014 = -208						; size = 12
_params$8004 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 365  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 366  : 	float minrange;
; 367  : 	float maxrange;
; 368  : 	float range;
; 369  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 370  : 	if (o)

	test	eax, eax
	je	SHORT $L7996

; 371  : 	{
; 372  : 		seen = o;

	mov	edi, eax
$L7996:

; 373  : 	}
; 374  : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7998
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7998
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7998
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L7998
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L7998
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L7998
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L7998
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L8003
$L7998:
	push	ebx

; 375  : 	{
; 376  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 377  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 378  : 		Vector3 pos,pos2;
; 379  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15014[esp+256]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$7999[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$7999[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 380  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15016[esp+264]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$7999[esp+280], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8000[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8000[esp+276], edx
	mov	eax, DWORD PTR [eax+8]

; 381  : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8000[esp+272]
	push	ecx
	lea	edx, DWORD PTR _pos$7999[esp+276]
	mov	DWORD PTR _pos2$8000[esp+284], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$[esp+280]

; 382  : 		pos.Z = 0;
; 383  : 		pos2.Z = 0;
; 384  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8000[esp+280]
	push	ecx
	lea	edx, DWORD PTR _pos$7999[esp+284]
	push	edx
	mov	DWORD PTR _pos$7999[esp+296], 0
	mov	DWORD PTR _pos2$8000[esp+296], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15030
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15030

; 385  : 		{
; 386  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8004[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 387  : 			params.Set_Basic(this,100,1,-1);

	mov	ecx, DWORD PTR [esi+4]

; 388  : 			params.Set_Attack(seen,maxrange,0,true);

	mov	edx, DWORD PTR _maxrange$[esp+256]

; 389  : 			Commands->Action_Attack(obj,params);

	lea	eax, DWORD PTR _params$8004[esp+256]
	push	eax
	mov	DWORD PTR _params$8004[esp+264], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8004[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8004[esp+432], -1
	mov	DWORD PTR _params$8004[esp+352], edi
	mov	DWORD PTR _params$8004[esp+340], edx
	mov	DWORD PTR _params$8004[esp+344], 0
	mov	BYTE PTR _params$8004[esp+356], 1
	call	DWORD PTR [ecx+20]

; 390  : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [edx+128]
	add	esp, 24					; 00000018H
$L15030:
	pop	ebx
$L8003:
	pop	edi
	pop	esi

; 391  : 		}
; 392  : 	}
; 393  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 397  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8010

; 398  : 	{
; 399  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8010:

; 400  : 	}
; 401  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z	; JFW_Building_Gun_Secondary::Created
;	COMDAT ??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
CONST	SEGMENT
??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@ DB 'JFW_Building_Gun'
	DB	'_Weapon_Secondary', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15038 = -1024						; size = 12
$T15039 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Secondary::Created, COMDAT
; _this$ = ecx

; 404  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 405  : 	Vector3 v,v2;
; 406  : 	GameObject *object;
; 407  : 	const char *weapon;
; 408  : 	char params[1000];
; 409  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15038[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 410  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15039[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 411  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 412  : 	v.Y += v2.Y;
; 413  : 	v.Z += v2.Z;
; 414  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 415  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 416  : 	if (object)

	test	edi, edi
	je	SHORT $L8022

; 417  : 	{
; 418  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 419  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 420  : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 421  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L8022:
	pop	edi
	pop	esi
	pop	ebx

; 422  : 	}
; 423  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z	; JFW_Building_Gun_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Secondary::Killed, COMDAT
; _this$ = ecx

; 426  : {

	push	esi
	mov	esi, ecx

; 427  : 	GameObject *object;
; 428  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 429  : 	int x;
; 430  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 431  : 	if (object)

	test	edi, edi
	je	SHORT $L8031

; 432  : 	{
; 433  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8031:
	pop	edi
	pop	esi

; 434  : 	}
; 435  : }

	ret	8
?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 438  : {

	push	ebp
	push	edi

; 439  : 	float health;
; 440  : 	bool power;
; 441  : 	GameObject *object;
; 442  : 	int x;
; 443  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 444  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8041

; 445  : 	{
; 446  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 447  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 448  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 449  : 		if (object)

	test	ecx, ecx
	je	SHORT $L15046

; 450  : 		{
; 451  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8044
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L8044

; 454  : 			}
; 455  : 			else
; 456  : 			{
; 457  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L15047
$L8044:

; 452  : 			{
; 453  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L15047:
	add	esp, 20					; 00000014H
$L15046:

; 458  : 			}
; 459  : 		}
; 460  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8041:
	pop	edi
	pop	ebp

; 461  : 	}
; 462  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ ; JFW_Building_Gun_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 466  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 467  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 471  : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 472  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::Created, COMDAT
; _this$ = ecx

; 475  : {

	push	esi
	push	edi

; 476  : 	int visible;
; 477  : 	primary = true;
; 478  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 479  : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 480  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 481  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 482  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 483  : }

	ret	4
?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::Custom, COMDAT
; _this$ = ecx

; 487  : 	int msg;
; 488  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 489  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L8065

; 490  : 	{
; 491  : 		Commands->Enable_Enemy_Seen(obj,param);

	mov	edx, DWORD PTR _param$[esp-4]
	mov	ecx, DWORD PTR _obj$[esp-4]
	test	edx, edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	setne	al
	push	eax
	push	ecx
	call	DWORD PTR [edx+300]
	add	esp, 8
$L8065:

; 492  : 	}
; 493  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$ = -240						; size = 12
_pos$ = -228						; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15066 = -208						; size = 12
$T15064 = -208						; size = 12
_params$8081 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 496  : {

	sub	esp, 244				; 000000f4H
	push	ebx
	push	esi
	push	edi

; 497  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+252]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 498  : 	if (o)

	test	eax, eax
	je	SHORT $L8072

; 499  : 	{
; 500  : 		seen = o;

	mov	edi, eax
$L8072:

; 501  : 	}
; 502  : 	float minrange;
; 503  : 	float maxrange;
; 504  : 	float range;
; 505  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 506  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 507  : 	Vector3 pos,pos2;
; 508  : 	pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15064[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 509  : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15066[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 510  : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+276]
	mov	DWORD PTR _pos2$[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 511  : 	pos.Z = 0;
; 512  : 	pos2.Z = 0;
; 513  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+284]
	push	ecx
	mov	DWORD PTR _pos$[esp+296], 0
	mov	DWORD PTR _pos2$[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L8082
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L8082

; 514  : 	{
; 515  : 		ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8081[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 516  : 		params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 517  : 		params.Set_Attack(seen,maxrange,0,primary);

	mov	ecx, DWORD PTR _maxrange$[esp+256]
	mov	dl, BYTE PTR [esi+28]
	mov	DWORD PTR _params$8081[esp+260], eax

; 518  : 		Commands->Action_Attack(obj,params);

	lea	eax, DWORD PTR _params$8081[esp+256]
	push	eax
	mov	DWORD PTR _params$8081[esp+336], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8081[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8081[esp+432], -1
	mov	DWORD PTR _params$8081[esp+352], edi
	mov	DWORD PTR _params$8081[esp+344], 0
	mov	BYTE PTR _params$8081[esp+356], dl
	call	DWORD PTR [ecx+20]

; 519  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [edx+128]

; 520  : 		if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 24					; 00000018H
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
$L8082:
	pop	edi
	pop	esi
	pop	ebx

; 521  : 		{
; 522  : 			primary = false;
; 523  : 		}
; 524  : 		else
; 525  : 		{
; 526  : 			primary = true;
; 527  : 		}
; 528  : 	}
; 529  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 533  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8089

; 534  : 	{
; 535  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8089:

; 536  : 	}
; 537  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Created
PUBLIC	??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@ ; `string'
;	COMDAT ??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
CONST	SEGMENT
??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@ DB 'JFW_Building_Gun'
	DB	'_Weapon_No_Aircraft_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15088 = -1024						; size = 12
$T15089 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 540  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 541  : 	Vector3 v,v2;
; 542  : 	GameObject *object;
; 543  : 	const char *weapon;
; 544  : 	char params[1000];
; 545  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15088[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 546  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15089[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 547  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 548  : 	v.Y += v2.Y;
; 549  : 	v.Z += v2.Z;
; 550  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 551  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 552  : 	if (object)

	test	edi, edi
	je	$L8101

; 553  : 	{
; 554  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 555  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 556  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET FLAT:??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 557  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_Aircraft_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET FLAT:??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 68					; 00000044H
$L8101:
	pop	edi
	pop	esi
	pop	ebx

; 558  : 	}
; 559  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 562  : {

	push	esi
	mov	esi, ecx

; 563  : 	GameObject *object;
; 564  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 565  : 	int x;
; 566  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 567  : 	if (object)

	test	edi, edi
	je	SHORT $L8110

; 568  : 	{
; 569  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8110:
	pop	edi
	pop	esi

; 570  : 	}
; 571  : }

	ret	8
?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 574  : {

	push	ebp
	push	edi

; 575  : 	float health;
; 576  : 	bool power;
; 577  : 	GameObject *object;
; 578  : 	int x;
; 579  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 580  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8120

; 581  : 	{
; 582  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 583  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 584  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 585  : 		if (object)

	test	ecx, ecx
	je	SHORT $L15096

; 586  : 		{
; 587  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8123
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L8123

; 590  : 			}
; 591  : 			else
; 592  : 			{
; 593  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L15097
$L8123:

; 588  : 			{
; 589  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L15097:
	add	esp, 20					; 00000014H
$L15096:

; 594  : 			}
; 595  : 		}
; 596  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8120:
	pop	edi
	pop	ebp

; 597  : 	}
; 598  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 602  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 603  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 606  : {

	push	esi
	push	edi

; 607  : 	int visible;
; 608  : 	primary = true;
; 609  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 610  : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 611  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 612  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 613  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 614  : }

	ret	4
?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Custom, COMDAT
; _this$ = ecx

; 618  : 	int msg;
; 619  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 620  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L8143

; 621  : 	{
; 622  : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L8142

; 623  : 		{
; 624  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 625  : 		}
; 626  : 		else
; 627  : 		{
; 628  : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 629  : 		}
; 630  : 	}
; 631  : }

	ret	16					; 00000010H
$L8142:

; 625  : 		}
; 626  : 		else
; 627  : 		{
; 628  : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L8143:

; 629  : 		}
; 630  : 	}
; 631  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$8156 = -240					; size = 12
_pos$8155 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15114 = -208						; size = 12
$T15112 = -208						; size = 12
_params$8160 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 634  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 635  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 636  : 	if (o)

	test	eax, eax
	je	SHORT $L8150

; 637  : 	{
; 638  : 		seen = o;

	mov	edi, eax
$L8150:

; 639  : 	}
; 640  : 	float minrange;
; 641  : 	float maxrange;
; 642  : 	float range;
; 643  : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8161
	push	ebx

; 644  : 	{
; 645  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 646  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 647  : 		Vector3 pos,pos2;
; 648  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15112[esp+256]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8155[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8155[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 649  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15114[esp+264]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8155[esp+280], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8156[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8156[esp+276], edx
	mov	eax, DWORD PTR [eax+8]

; 650  : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8156[esp+272]
	push	ecx
	lea	edx, DWORD PTR _pos$8155[esp+276]
	mov	DWORD PTR _pos2$8156[esp+284], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$[esp+280]

; 651  : 		pos.Z = 0;
; 652  : 		pos2.Z = 0;
; 653  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8156[esp+280]
	push	ecx
	lea	edx, DWORD PTR _pos$8155[esp+284]
	push	edx
	mov	DWORD PTR _pos$8155[esp+296], 0
	mov	DWORD PTR _pos2$8156[esp+296], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15129
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15129

; 654  : 		{
; 655  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8160[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 656  : 			params.Set_Basic(this,100,1,-1);

	mov	ecx, DWORD PTR [esi+4]

; 657  : 			params.Set_Attack(seen,maxrange,0,primary);

	mov	edx, DWORD PTR _maxrange$[esp+256]
	mov	al, BYTE PTR [esi+28]
	mov	DWORD PTR _params$8160[esp+260], ecx

; 658  : 			Commands->Action_Attack(obj,params);

	lea	ecx, DWORD PTR _params$8160[esp+256]
	push	ecx
	mov	DWORD PTR _params$8160[esp+336], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8160[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8160[esp+432], -1
	mov	DWORD PTR _params$8160[esp+352], edi
	mov	DWORD PTR _params$8160[esp+344], 0
	mov	BYTE PTR _params$8160[esp+356], al
	call	DWORD PTR [edx+20]

; 659  : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 660  : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 24					; 00000018H
	test	al, al
	sete	cl
	mov	BYTE PTR [esi+28], cl
$L15129:
	pop	ebx
$L8161:
	pop	edi
	pop	esi

; 661  : 			{
; 662  : 				primary = false;
; 663  : 			}
; 664  : 			else
; 665  : 			{
; 666  : 				primary = true;
; 667  : 			}
; 668  : 		}
; 669  : 	}
; 670  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 674  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8168

; 675  : 	{
; 676  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8168:

; 677  : 	}
; 678  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Created
PUBLIC	??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@ ; `string'
;	COMDAT ??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
CONST	SEGMENT
??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@ DB 'JFW_Building_Gun_'
	DB	'Weapon_Aircraft_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15137 = -1024						; size = 12
$T15138 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 681  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 682  : 	Vector3 v,v2;
; 683  : 	GameObject *object;
; 684  : 	const char *weapon;
; 685  : 	char params[1000];
; 686  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15137[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 687  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15138[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 688  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 689  : 	v.Y += v2.Y;
; 690  : 	v.Z += v2.Z;
; 691  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 692  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 693  : 	if (object)

	test	edi, edi
	je	$L8180

; 694  : 	{
; 695  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 696  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 697  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"));

	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1096]
	push	OFFSET FLAT:??_C@_0CE@FMGOBKCM@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 698  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_Aircraft_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1104]
	push	eax
	push	OFFSET FLAT:??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 68					; 00000044H
$L8180:
	pop	edi
	pop	esi
	pop	ebx

; 699  : 	}
; 700  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 703  : {

	push	esi
	mov	esi, ecx

; 704  : 	GameObject *object;
; 705  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 706  : 	int x;
; 707  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 708  : 	if (object)

	test	edi, edi
	je	SHORT $L8189

; 709  : 	{
; 710  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8189:
	pop	edi
	pop	esi

; 711  : 	}
; 712  : }

	ret	8
?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 715  : {

	push	ebp
	push	edi

; 716  : 	float health;
; 717  : 	bool power;
; 718  : 	GameObject *object;
; 719  : 	int x;
; 720  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 721  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8199

; 722  : 	{
; 723  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 724  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 725  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 726  : 		if (object)

	test	ecx, ecx
	je	SHORT $L15145

; 727  : 		{
; 728  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8202
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L8202

; 731  : 			}
; 732  : 			else
; 733  : 			{
; 734  : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L15146
$L8202:

; 729  : 			{
; 730  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L15146:
	add	esp, 20					; 00000014H
$L15145:

; 735  : 			}
; 736  : 		}
; 737  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8199:
	pop	edi
	pop	ebp

; 738  : 	}
; 739  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 743  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 744  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 747  : {

	push	esi
	push	edi

; 748  : 	int visible;
; 749  : 	primary = true;
; 750  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 751  : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 752  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 753  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 754  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 755  : }

	ret	4
?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 759  : 	int msg;
; 760  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 761  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L8222

; 762  : 	{
; 763  : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L8221

; 764  : 		{
; 765  : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 766  : 		}
; 767  : 		else
; 768  : 		{
; 769  : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 770  : 		}
; 771  : 	}
; 772  : }

	ret	16					; 00000010H
$L8221:

; 766  : 		}
; 767  : 		else
; 768  : 		{
; 769  : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L8222:

; 770  : 		}
; 771  : 	}
; 772  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$8236 = -240					; size = 12
_pos$8235 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15163 = -208						; size = 12
$T15161 = -208						; size = 12
_params$8240 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 775  : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 776  : 	float minrange;
; 777  : 	float maxrange;
; 778  : 	float range;
; 779  : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 780  : 	if (o)

	test	eax, eax
	je	SHORT $L8232

; 781  : 	{
; 782  : 		seen = o;

	mov	edi, eax
$L8232:

; 783  : 	}
; 784  : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8234
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8234
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8234
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8234
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8234
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8234
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8234
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L8241
$L8234:
	push	ebx

; 785  : 	{
; 786  : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 787  : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 788  : 		Vector3 pos,pos2;
; 789  : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15161[esp+256]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8235[esp+264], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8235[esp+268], edx
	mov	eax, DWORD PTR [eax+8]

; 790  : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15163[esp+264]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8235[esp+280], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8236[esp+272], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8236[esp+276], edx
	mov	eax, DWORD PTR [eax+8]

; 791  : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8236[esp+272]
	push	ecx
	lea	edx, DWORD PTR _pos$8235[esp+276]
	mov	DWORD PTR _pos2$8236[esp+284], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$[esp+280]

; 792  : 		pos.Z = 0;
; 793  : 		pos2.Z = 0;
; 794  : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8236[esp+280]
	push	ecx
	lea	edx, DWORD PTR _pos$8235[esp+284]
	push	edx
	mov	DWORD PTR _pos$8235[esp+296], 0
	mov	DWORD PTR _pos2$8236[esp+296], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15178
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15178

; 795  : 		{
; 796  : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8240[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 797  : 			params.Set_Basic(this,100,1,-1);

	mov	ecx, DWORD PTR [esi+4]

; 798  : 			params.Set_Attack(seen,maxrange,0,primary);

	mov	edx, DWORD PTR _maxrange$[esp+256]
	mov	al, BYTE PTR [esi+28]
	mov	DWORD PTR _params$8240[esp+260], ecx

; 799  : 			Commands->Action_Attack(obj,params);

	lea	ecx, DWORD PTR _params$8240[esp+256]
	push	ecx
	mov	DWORD PTR _params$8240[esp+336], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8240[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8240[esp+432], -1
	mov	DWORD PTR _params$8240[esp+352], edi
	mov	DWORD PTR _params$8240[esp+344], 0
	mov	BYTE PTR _params$8240[esp+356], al
	call	DWORD PTR [edx+20]

; 800  : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 801  : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 24					; 00000018H
	test	al, al
	sete	cl
	mov	BYTE PTR [esi+28], cl
$L15178:
	pop	ebx
$L8241:
	pop	edi
	pop	esi

; 802  : 			{
; 803  : 				primary = false;
; 804  : 			}
; 805  : 			else
; 806  : 			{
; 807  : 				primary = true;
; 808  : 			}
; 809  : 		}
; 810  : 	}
; 811  : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 815  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8248

; 816  : 	{
; 817  : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8248:

; 818  : 	}
; 819  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 823  : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 824  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 828  : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 829  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??_C@_0M@JJMJELJO@EffectFrame?$AA@		; `string'
PUBLIC	??_C@_0L@KBDJNGME@EffectTime?$AA@		; `string'
PUBLIC	??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@		; `string'
PUBLIC	??_C@_0N@BNDFOEGC@EffectPreset?$AA@		; `string'
PUBLIC	??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z	; JFW_Building_Gun_Animated::Created
;	COMDAT ??_C@_0M@JJMJELJO@EffectFrame?$AA@
CONST	SEGMENT
??_C@_0M@JJMJELJO@EffectFrame?$AA@ DB 'EffectFrame', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@KBDJNGME@EffectTime?$AA@
CONST	SEGMENT
??_C@_0L@KBDJNGME@EffectTime?$AA@ DB 'EffectTime', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
CONST	SEGMENT
??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@ DB 'EffectAnimation', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0N@BNDFOEGC@EffectPreset?$AA@
CONST	SEGMENT
??_C@_0N@BNDFOEGC@EffectPreset?$AA@ DB 'EffectPreset', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15192 = -1024						; size = 12
$T15193 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z PROC NEAR	; JFW_Building_Gun_Animated::Created, COMDAT
; _this$ = ecx

; 832  : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 833  : 	Vector3 v,v2;
; 834  : 	GameObject *object;
; 835  : 	const char *weapon;
; 836  : 	char params[1000];
; 837  : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15192[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 838  : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15193[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 839  : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 840  : 	v.Y += v2.Y;
; 841  : 	v.Z += v2.Z;
; 842  : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 843  : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 844  : 	if (object)

	test	edi, edi
	je	$L8266

; 845  : 	{
; 846  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 847  : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 848  : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 849  : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L8266:
	pop	edi
	pop	esi
	pop	ebx

; 850  : 	}
; 851  : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z ENDP	; JFW_Building_Gun_Animated::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z	; JFW_Building_Gun_Animated::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z PROC NEAR	; JFW_Building_Gun_Animated::Killed, COMDAT
; _this$ = ecx

; 854  : {

	push	esi
	mov	esi, ecx

; 855  : 	GameObject *object;
; 856  : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 857  : 	int x;
; 858  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 859  : 	if (object)

	test	edi, edi
	je	SHORT $L8280

; 860  : 	{
; 861  : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8280:
	pop	edi
	pop	esi

; 862  : 	}
; 863  : }

	ret	8
?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_Animated::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z ; JFW_Building_Gun_Animated::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated::Timer_Expired, COMDAT
; _this$ = ecx

; 866  : {

	push	ebp
	push	edi

; 867  : 	float health;
; 868  : 	bool power;
; 869  : 	GameObject *object;
; 870  : 	int x;
; 871  : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 872  : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8290

; 873  : 	{
; 874  : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 875  : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 876  : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 877  : 		if (object)

	test	ecx, ecx
	je	SHORT $L8292

; 878  : 		{
; 879  : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8293
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8292
$L8293:

; 880  : 			{
; 881  : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8292:

; 882  : 			}
; 883  : 		}
; 884  : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8290:
	pop	edi
	pop	ebp

; 885  : 	}
; 886  : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ ; JFW_Building_Gun_Animated::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 890  : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 891  : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ ENDP ; JFW_Building_Gun_Animated::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT
$T15206 = -24						; size = 12
$T15207 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Created, COMDAT
; _this$ = ecx

; 894  : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 895  : 	int visible;
; 896  : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 897  : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 898  : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 899  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 900  : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 901  : 	enemyseen = true;
; 902  : 	attackid = 0;
; 903  : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15207[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15206[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15206[esp+36]
	push	ecx
	mov	DWORD PTR $T15206[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15206[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 904  : 	if (effect)

	test	edi, edi
	je	SHORT $L8304

; 905  : 	{
; 906  : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 907  : 		lastframe = false;
; 908  : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8304:
	pop	edi
	pop	esi
	pop	ebp

; 909  : 	}
; 910  : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Custom, COMDAT
; _this$ = ecx

; 913  : {

	push	esi

; 914  : 	int msg;
; 915  : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 916  : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8313

; 917  : 	{
; 918  : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 919  : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L8313:
	pop	esi

; 920  : 	}
; 921  : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T15217 = -12						; size = 12
$T15215 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 924  : {

	sub	esp, 40					; 00000028H
	push	ebx

; 925  : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	edi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 926  : 	if (o)

	test	eax, eax
	je	SHORT $L8320

; 927  : 	{
; 928  : 		seen = o;

	mov	ebx, eax
$L8320:

; 929  : 	}
; 930  : 	float minrange;
; 931  : 	float maxrange;
; 932  : 	float range;
; 933  : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 934  : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 935  : 	Vector3 pos,pos2;
; 936  : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15215[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 937  : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15217[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 938  : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+72]
	mov	DWORD PTR _pos2$[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+72]

; 939  : 	pos.Z = 0;
; 940  : 	pos2.Z = 0;
; 941  : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+80]
	push	ecx
	mov	DWORD PTR _pos$[esp+92], 0
	mov	DWORD PTR _pos2$[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L8329
	fld	DWORD PTR _range$[esp+48]
	fcomp	DWORD PTR _maxrange$[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L8329

; 942  : 	{
; 943  : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 944  : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 945  : 		attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 946  : 		if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L8329

; 947  : 		{
; 948  : 			lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 949  : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 950  : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L8329:
	pop	edi
	pop	esi
	pop	ebx

; 951  : 		}
; 952  : 	}
; 953  : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Action_Complete, COMDAT
; _this$ = ecx

; 956  : {

	push	esi

; 957  : 	enemyseen = true;
; 958  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 959  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 960  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Action_Complete, COMDAT
; _this$ = ecx

; 963  : {

	push	esi

; 964  : 	enemyseen = true;
; 965  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 966  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 967  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Action_Complete, COMDAT
; _this$ = ecx

; 970  : {

	push	esi

; 971  : 	enemyseen = true;
; 972  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 973  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 974  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 977  : {

	push	esi

; 978  : 	enemyseen = true;
; 979  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 980  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 981  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 984  : {

	push	esi

; 985  : 	enemyseen = true;
; 986  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 987  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 988  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 991  : {

	push	esi

; 992  : 	enemyseen = true;
; 993  : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 994  : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 995  : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8373 = -244					; size = 4
_pos2$8376 = -240					; size = 12
_pos$8375 = -228					; size = 12
_range$8374 = -216					; size = 4
_minrange$8372 = -212					; size = 4
$T15242 = -208						; size = 12
$T15240 = -208						; size = 12
_params$8381 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 999  : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8380
	push	ebp
	push	edi

; 1000 : 	{
; 1001 : 		float minrange;
; 1002 : 		float maxrange;
; 1003 : 		float range;
; 1004 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8372[esp+256]

; 1005 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8373[esp+256]

; 1006 : 		Vector3 pos,pos2;
; 1007 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15240[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8375[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8375[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1008 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8375[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15242[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8376[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8376[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1009 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8376[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8375[esp+280]
	mov	DWORD PTR _pos2$8376[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8374[esp+284]

; 1010 : 		pos.Z = 0;
; 1011 : 		pos2.Z = 0;
; 1012 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8375[esp+264], 0
	mov	DWORD PTR _pos2$8376[esp+264], 0
	je	SHORT $L8379

; 1013 : 		{
; 1014 : 			lastframe = false;
; 1015 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8379:

; 1016 : 		}
; 1017 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8376[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8375[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8372[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15257
	fld	DWORD PTR _range$8374[esp+256]
	fcomp	DWORD PTR _maxrange$8373[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15257

; 1018 : 		{
; 1019 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8381[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1020 : 			params.Set_Basic(this,100,1,-1);
; 1021 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$8381[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$8381[esp+264], eax
	mov	DWORD PTR _params$8381[esp+428], -1
	call	DWORD PTR [edx+96]

; 1022 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8381[esp+260]
	mov	DWORD PTR _params$8381[esp+348], eax
	mov	eax, DWORD PTR _maxrange$8373[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8381[esp+344], eax
	mov	DWORD PTR _params$8381[esp+348], 0
	mov	BYTE PTR _params$8381[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15257:
	pop	edi
	pop	ebp
$L8380:
	pop	esi

; 1023 : 		}
; 1024 : 	}
; 1025 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_Aircraft::Created
;	COMDAT ??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_Aircraft', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15262 = -1024						; size = 12
$T15263 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 1028 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1029 : 	Vector3 v,v2;
; 1030 : 	GameObject *object;
; 1031 : 	const char *weapon;
; 1032 : 	char params[1000];
; 1033 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15262[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1034 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15263[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1035 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1036 : 	v.Y += v2.Y;
; 1037 : 	v.Z += v2.Z;
; 1038 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1039 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1040 : 	if (object)

	test	edi, edi
	je	$L8393

; 1041 : 	{
; 1042 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1043 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1044 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1112]
	push	OFFSET FLAT:??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 1045 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_Aircraft",params);

	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 84					; 00000054H
$L8393:
	pop	edi
	pop	esi
	pop	ebx

; 1046 : 	}
; 1047 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_Aircraft::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 1050 : {

	push	esi
	mov	esi, ecx

; 1051 : 	GameObject *object;
; 1052 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1053 : 	int x;
; 1054 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1055 : 	if (object)

	test	edi, edi
	je	SHORT $L8403

; 1056 : 	{
; 1057 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8403:
	pop	edi
	pop	esi

; 1058 : 	}
; 1059 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 1062 : {

	push	ebp
	push	edi

; 1063 : 	float health;
; 1064 : 	bool power;
; 1065 : 	GameObject *object;
; 1066 : 	int x;
; 1067 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1068 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8413

; 1069 : 	{
; 1070 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1071 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1072 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1073 : 		if (object)

	test	ecx, ecx
	je	SHORT $L8415

; 1074 : 		{
; 1075 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8416
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8415
$L8416:

; 1076 : 			{
; 1077 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8415:

; 1078 : 			}
; 1079 : 		}
; 1080 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8413:
	pop	edi
	pop	ebp

; 1081 : 	}
; 1082 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ ; JFW_Building_Gun_Animated_No_Aircraft::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1086 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1087 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
$T15276 = -24						; size = 12
$T15277 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 1090 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 1091 : 	int visible;
; 1092 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1093 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 1094 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 1095 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 1096 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 1097 : 	attackid = 0;
; 1098 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15277[esp+64]
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15276[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15276[esp+36]
	push	ecx
	mov	DWORD PTR $T15276[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15276[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 1099 : 	if (effect)

	test	edi, edi
	je	SHORT $L8427

; 1100 : 	{
; 1101 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 1102 : 		lastframe = false;
; 1103 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8427:
	pop	edi
	pop	esi
	pop	ebp

; 1104 : 	}
; 1105 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom, COMDAT
; _this$ = ecx

; 1108 : {

	push	esi

; 1109 : 	int msg;
; 1110 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1111 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8436

; 1112 : 	{
; 1113 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 1114 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L8436:
	pop	esi

; 1115 : 	}
; 1116 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$8446 = -40					; size = 4
_pos2$8449 = -36					; size = 12
_pos$8448 = -24						; size = 12
$T15287 = -12						; size = 12
$T15285 = -12						; size = 12
_range$8447 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$8445 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 1119 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 1120 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1121 : 	if (o)

	test	eax, eax
	je	SHORT $L8443

; 1122 : 	{
; 1123 : 		seen = o;

	mov	edi, eax
$L8443:

; 1124 : 	}
; 1125 : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8453
	push	ebx

; 1126 : 	{
; 1127 : 		float minrange;
; 1128 : 		float maxrange;
; 1129 : 		float range;
; 1130 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8445[esp+48]

; 1131 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8446[esp+52]

; 1132 : 		Vector3 pos,pos2;
; 1133 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15285[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8448[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8448[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1134 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15287[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8448[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8449[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8449[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 1135 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8449[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$8448[esp+72]
	mov	DWORD PTR _pos2$8449[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8447[esp+72]

; 1136 : 		pos.Z = 0;
; 1137 : 		pos2.Z = 0;
; 1138 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8449[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$8448[esp+80]
	push	edx
	mov	DWORD PTR _pos$8448[esp+92], 0
	mov	DWORD PTR _pos2$8449[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$8445[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15288
	fld	DWORD PTR _range$8447[esp+48]
	fcomp	DWORD PTR _maxrange$8446[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15288

; 1139 : 		{
; 1140 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 1141 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 1142 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+32], eax

; 1143 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L15288

; 1144 : 			{
; 1145 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 1146 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 1147 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15288:
	pop	ebx
$L8453:
	pop	edi
	pop	esi

; 1148 : 			}
; 1149 : 		}
; 1150 : 	}
; 1151 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8461 = -244					; size = 4
_pos2$8464 = -240					; size = 12
_pos$8463 = -228					; size = 12
_range$8462 = -216					; size = 4
_minrange$8460 = -212					; size = 4
$T15295 = -208						; size = 12
$T15293 = -208						; size = 12
_params$8469 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 1155 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8468
	push	ebp
	push	edi

; 1156 : 	{
; 1157 : 		float minrange;
; 1158 : 		float maxrange;
; 1159 : 		float range;
; 1160 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8460[esp+256]

; 1161 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8461[esp+256]

; 1162 : 		Vector3 pos,pos2;
; 1163 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15293[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8463[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8463[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1164 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8463[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15295[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8464[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8464[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1165 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8464[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8463[esp+280]
	mov	DWORD PTR _pos2$8464[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8462[esp+284]

; 1166 : 		pos.Z = 0;
; 1167 : 		pos2.Z = 0;
; 1168 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8463[esp+264], 0
	mov	DWORD PTR _pos2$8464[esp+264], 0
	je	SHORT $L8467

; 1169 : 		{
; 1170 : 			lastframe = false;
; 1171 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8467:

; 1172 : 		}
; 1173 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8464[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8463[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8460[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15310
	fld	DWORD PTR _range$8462[esp+256]
	fcomp	DWORD PTR _maxrange$8461[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15310

; 1174 : 		{
; 1175 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8469[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1176 : 			params.Set_Basic(this,100,1,-1);
; 1177 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$8469[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$8469[esp+264], eax
	mov	DWORD PTR _params$8469[esp+428], -1
	call	DWORD PTR [edx+96]

; 1178 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8469[esp+260]
	mov	DWORD PTR _params$8469[esp+348], eax
	mov	eax, DWORD PTR _maxrange$8461[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8469[esp+344], eax
	mov	DWORD PTR _params$8469[esp+348], 0
	mov	BYTE PTR _params$8469[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15310:
	pop	edi
	pop	ebp
$L8468:
	pop	esi

; 1179 : 		}
; 1180 : 	}
; 1181 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Created
;	COMDAT ??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Aircraft_Only', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15315 = -1024						; size = 12
$T15316 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 1184 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1185 : 	Vector3 v,v2;
; 1186 : 	GameObject *object;
; 1187 : 	const char *weapon;
; 1188 : 	char params[1000];
; 1189 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15315[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1190 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15316[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1191 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1192 : 	v.Y += v2.Y;
; 1193 : 	v.Z += v2.Z;
; 1194 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1195 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1196 : 	if (object)

	test	edi, edi
	je	$L8481

; 1197 : 	{
; 1198 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1199 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1200 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1112]
	push	OFFSET FLAT:??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 1201 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Aircraft_Only",params);

	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 84					; 00000054H
$L8481:
	pop	edi
	pop	esi
	pop	ebx

; 1202 : 	}
; 1203 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 1206 : {

	push	esi
	mov	esi, ecx

; 1207 : 	GameObject *object;
; 1208 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1209 : 	int x;
; 1210 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1211 : 	if (object)

	test	edi, edi
	je	SHORT $L8490

; 1212 : 	{
; 1213 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8490:
	pop	edi
	pop	esi

; 1214 : 	}
; 1215 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 1218 : {

	push	ebp
	push	edi

; 1219 : 	float health;
; 1220 : 	bool power;
; 1221 : 	GameObject *object;
; 1222 : 	int x;
; 1223 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1224 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8500

; 1225 : 	{
; 1226 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1227 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1228 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1229 : 		if (object)

	test	ecx, ecx
	je	SHORT $L8502

; 1230 : 		{
; 1231 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8503
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8502
$L8503:

; 1232 : 			{
; 1233 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8502:

; 1234 : 			}
; 1235 : 		}
; 1236 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8500:
	pop	edi
	pop	ebp

; 1237 : 	}
; 1238 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1242 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1243 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
$T15329 = -24						; size = 12
$T15330 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 1246 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 1247 : 	int visible;
; 1248 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1249 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 1250 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 1251 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 1252 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 1253 : 	enemyseen = true;
; 1254 : 	attackid = 0;
; 1255 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15330[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15329[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15329[esp+36]
	push	ecx
	mov	DWORD PTR $T15329[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15329[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 1256 : 	if (effect)

	test	edi, edi
	je	SHORT $L8514

; 1257 : 	{
; 1258 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 1259 : 		lastframe = false;
; 1260 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8514:
	pop	edi
	pop	esi
	pop	ebp

; 1261 : 	}
; 1262 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom, COMDAT
; _this$ = ecx

; 1265 : {

	push	esi

; 1266 : 	int msg;
; 1267 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1268 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8523

; 1269 : 	{
; 1270 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 1271 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L8523:
	pop	esi

; 1272 : 	}
; 1273 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$8534 = -40					; size = 4
_pos2$8537 = -36					; size = 12
_pos$8536 = -24						; size = 12
$T15340 = -12						; size = 12
$T15338 = -12						; size = 12
_range$8535 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$8533 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 1276 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 1277 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1278 : 	if (o)

	test	eax, eax
	je	SHORT $L8530

; 1279 : 	{
; 1280 : 		seen = o;

	mov	edi, eax
$L8530:

; 1281 : 	}
; 1282 : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8532
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8532
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8532
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8532
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8532
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8532
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8532
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L8541
$L8532:
	push	ebx

; 1283 : 	{
; 1284 : 		float minrange;
; 1285 : 		float maxrange;
; 1286 : 		float range;
; 1287 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8533[esp+48]

; 1288 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8534[esp+52]

; 1289 : 		Vector3 pos,pos2;
; 1290 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15338[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8536[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8536[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1291 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15340[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8536[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8537[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8537[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 1292 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8537[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$8536[esp+72]
	mov	DWORD PTR _pos2$8537[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8535[esp+72]

; 1293 : 		pos.Z = 0;
; 1294 : 		pos2.Z = 0;
; 1295 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8537[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$8536[esp+80]
	push	edx
	mov	DWORD PTR _pos$8536[esp+92], 0
	mov	DWORD PTR _pos2$8537[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$8533[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15341
	fld	DWORD PTR _range$8535[esp+48]
	fcomp	DWORD PTR _maxrange$8534[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15341

; 1296 : 		{
; 1297 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 1298 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 1299 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+32], eax

; 1300 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L15341

; 1301 : 			{
; 1302 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 1303 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 1304 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15341:
	pop	ebx
$L8541:
	pop	edi
	pop	esi

; 1305 : 			}
; 1306 : 		}
; 1307 : 	}
; 1308 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8549 = -244					; size = 4
_pos2$8552 = -240					; size = 12
_pos$8551 = -228					; size = 12
_range$8550 = -216					; size = 4
_minrange$8548 = -212					; size = 4
$T15348 = -208						; size = 12
$T15346 = -208						; size = 12
_params$8557 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 1312 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8556
	push	ebp
	push	edi

; 1313 : 	{
; 1314 : 		float minrange;
; 1315 : 		float maxrange;
; 1316 : 		float range;
; 1317 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8548[esp+256]

; 1318 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8549[esp+256]

; 1319 : 		Vector3 pos,pos2;
; 1320 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15346[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8551[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8551[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1321 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8551[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15348[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8552[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8552[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1322 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8552[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8551[esp+280]
	mov	DWORD PTR _pos2$8552[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8550[esp+284]

; 1323 : 		pos.Z = 0;
; 1324 : 		pos2.Z = 0;
; 1325 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8551[esp+264], 0
	mov	DWORD PTR _pos2$8552[esp+264], 0
	je	SHORT $L8555

; 1326 : 		{
; 1327 : 			lastframe = false;
; 1328 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8555:

; 1329 : 		}
; 1330 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8552[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8551[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8548[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15363
	fld	DWORD PTR _range$8550[esp+256]
	fcomp	DWORD PTR _maxrange$8549[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15363

; 1331 : 		{
; 1332 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8557[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1333 : 			params.Set_Basic(this,100,1,-1);
; 1334 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$8557[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$8557[esp+264], eax
	mov	DWORD PTR _params$8557[esp+428], -1
	call	DWORD PTR [edx+96]

; 1335 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8557[esp+260]
	mov	DWORD PTR _params$8557[esp+348], eax
	mov	eax, DWORD PTR _maxrange$8549[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8557[esp+344], eax
	mov	DWORD PTR _params$8557[esp+348], 0
	mov	BYTE PTR _params$8557[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15363:
	pop	edi
	pop	ebp
$L8556:
	pop	esi

; 1336 : 		}
; 1337 : 	}
; 1338 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Secondary::Created
PUBLIC	??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@ ; `string'
;	COMDAT ??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15368 = -1024						; size = 12
$T15369 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Secondary::Created, COMDAT
; _this$ = ecx

; 1341 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1342 : 	Vector3 v,v2;
; 1343 : 	GameObject *object;
; 1344 : 	const char *weapon;
; 1345 : 	char params[1000];
; 1346 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15368[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1347 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15369[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1348 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1349 : 	v.Y += v2.Y;
; 1350 : 	v.Z += v2.Z;
; 1351 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1352 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1353 : 	if (object)

	test	edi, edi
	je	$L8569

; 1354 : 	{
; 1355 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1356 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1357 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 1358 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L8569:
	pop	edi
	pop	esi
	pop	ebx

; 1359 : 	}
; 1360 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Secondary::Killed, COMDAT
; _this$ = ecx

; 1363 : {

	push	esi
	mov	esi, ecx

; 1364 : 	GameObject *object;
; 1365 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1366 : 	int x;
; 1367 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1368 : 	if (object)

	test	edi, edi
	je	SHORT $L8578

; 1369 : 	{
; 1370 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8578:
	pop	edi
	pop	esi

; 1371 : 	}
; 1372 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1375 : {

	push	ebp
	push	edi

; 1376 : 	float health;
; 1377 : 	bool power;
; 1378 : 	GameObject *object;
; 1379 : 	int x;
; 1380 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1381 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8588

; 1382 : 	{
; 1383 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1384 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1385 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1386 : 		if (object)

	test	ecx, ecx
	je	SHORT $L8590

; 1387 : 		{
; 1388 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8591
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8590
$L8591:

; 1389 : 			{
; 1390 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8590:

; 1391 : 			}
; 1392 : 		}
; 1393 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8588:
	pop	edi
	pop	ebp

; 1394 : 	}
; 1395 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1399 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1400 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1403 : {

	push	esi
	mov	esi, ecx

; 1404 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1405 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1406 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1407 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1408 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1409 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1412 : {

	push	esi
	mov	esi, ecx

; 1413 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1414 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1415 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1416 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1417 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15388 = -24						; size = 12
$T15389 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Created, COMDAT
; _this$ = ecx

; 1420 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1421 : 	primary = true;
; 1422 : 	int visible;
; 1423 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1424 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 1425 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 1426 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 1427 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 1428 : 	enemyseen = true;
; 1429 : 	attackid = 0;
; 1430 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15389[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15388[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15388[esp+36]
	push	ecx
	mov	DWORD PTR $T15388[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15388[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 1431 : 	if (effect)

	test	edi, edi
	je	SHORT $L8608

; 1432 : 	{
; 1433 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 1434 : 		lastframe = false;
; 1435 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8608:
	pop	edi
	pop	esi
	pop	ebp

; 1436 : 	}
; 1437 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom, COMDAT
; _this$ = ecx

; 1440 : {

	push	esi

; 1441 : 	int msg;
; 1442 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1443 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8617

; 1444 : 	{
; 1445 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 1446 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L8617:
	pop	esi

; 1447 : 	}
; 1448 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T15399 = -12						; size = 12
$T15397 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1451 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 1452 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	edi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1453 : 	if (o)

	test	eax, eax
	je	SHORT $L8624

; 1454 : 	{
; 1455 : 		seen = o;

	mov	ebx, eax
$L8624:

; 1456 : 	}
; 1457 : 	float minrange;
; 1458 : 	float maxrange;
; 1459 : 	float range;
; 1460 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 1461 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 1462 : 	Vector3 pos,pos2;
; 1463 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15397[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 1464 : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15399[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 1465 : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+72]
	mov	DWORD PTR _pos2$[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+72]

; 1466 : 	pos.Z = 0;
; 1467 : 	pos2.Z = 0;
; 1468 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+80]
	push	ecx
	mov	DWORD PTR _pos$[esp+92], 0
	mov	DWORD PTR _pos2$[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L8633
	fld	DWORD PTR _range$[esp+48]
	fcomp	DWORD PTR _maxrange$[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L8633

; 1469 : 	{
; 1470 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1471 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 1472 : 		attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 1473 : 		if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L8633

; 1474 : 		{
; 1475 : 			lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1476 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 1477 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L8633:
	pop	edi
	pop	esi
	pop	ebx

; 1478 : 		}
; 1479 : 	}
; 1480 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8641 = -244					; size = 4
_pos2$8644 = -240					; size = 12
_pos$8643 = -228					; size = 12
_range$8642 = -216					; size = 4
_minrange$8640 = -212					; size = 4
$T15406 = -208						; size = 12
$T15404 = -208						; size = 12
_params$8649 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1484 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8650
	push	ebp
	push	edi

; 1485 : 	{
; 1486 : 		float minrange;
; 1487 : 		float maxrange;
; 1488 : 		float range;
; 1489 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8640[esp+256]

; 1490 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8641[esp+256]

; 1491 : 		Vector3 pos,pos2;
; 1492 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15404[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8643[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8643[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1493 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8643[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15406[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8644[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8644[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1494 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8644[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8643[esp+280]
	mov	DWORD PTR _pos2$8644[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8642[esp+284]

; 1495 : 		pos.Z = 0;
; 1496 : 		pos2.Z = 0;
; 1497 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8643[esp+264], 0
	mov	DWORD PTR _pos2$8644[esp+264], 0
	je	SHORT $L8647

; 1498 : 		{
; 1499 : 			lastframe = false;
; 1500 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8647:

; 1501 : 		}
; 1502 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8644[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8643[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8640[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15422
	fld	DWORD PTR _range$8642[esp+256]
	fcomp	DWORD PTR _maxrange$8641[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15422
	push	ebx

; 1503 : 		{
; 1504 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8649[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1505 : 			params.Set_Basic(this,100,1,-1);
; 1506 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$8649[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8649[esp+268], eax
	mov	DWORD PTR _params$8649[esp+432], -1
	call	DWORD PTR [edx+96]

; 1507 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8649[esp+264]
	mov	DWORD PTR _params$8649[esp+352], eax
	mov	eax, DWORD PTR _maxrange$8641[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8649[esp+348], eax
	mov	DWORD PTR _params$8649[esp+352], 0
	mov	BYTE PTR _params$8649[esp+364], bl
	call	DWORD PTR [edx+20]

; 1508 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15422:
	pop	edi
	pop	ebp
$L8650:
	pop	esi

; 1509 : 			{
; 1510 : 				primary = false;
; 1511 : 			}
; 1512 : 			else
; 1513 : 			{
; 1514 : 				primary = true;
; 1515 : 			}
; 1516 : 		}
; 1517 : 	}
; 1518 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created
PUBLIC	??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@ ; `string'
;	COMDAT ??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_Aircraft_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15427 = -1024						; size = 12
$T15428 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 1521 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1522 : 	Vector3 v,v2;
; 1523 : 	GameObject *object;
; 1524 : 	const char *weapon;
; 1525 : 	char params[1000];
; 1526 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15427[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1527 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15428[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1528 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1529 : 	v.Y += v2.Y;
; 1530 : 	v.Z += v2.Z;
; 1531 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1532 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1533 : 	if (object)

	test	edi, edi
	je	$L8663

; 1534 : 	{
; 1535 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1536 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1537 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1112]
	push	OFFSET FLAT:??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 1538 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary",params);

	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 84					; 00000054H
$L8663:
	pop	edi
	pop	esi
	pop	ebx

; 1539 : 	}
; 1540 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 1543 : {

	push	esi
	mov	esi, ecx

; 1544 : 	GameObject *object;
; 1545 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1546 : 	int x;
; 1547 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1548 : 	if (object)

	test	edi, edi
	je	SHORT $L8672

; 1549 : 	{
; 1550 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8672:
	pop	edi
	pop	esi

; 1551 : 	}
; 1552 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1555 : {

	push	ebp
	push	edi

; 1556 : 	float health;
; 1557 : 	bool power;
; 1558 : 	GameObject *object;
; 1559 : 	int x;
; 1560 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1561 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8682

; 1562 : 	{
; 1563 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1564 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1565 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1566 : 		if (object)

	test	ecx, ecx
	je	SHORT $L8684

; 1567 : 		{
; 1568 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8685
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8684
$L8685:

; 1569 : 			{
; 1570 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8684:

; 1571 : 			}
; 1572 : 		}
; 1573 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8682:
	pop	edi
	pop	ebp

; 1574 : 	}
; 1575 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1579 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1580 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15441 = -24						; size = 12
$T15442 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 1583 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1584 : 	primary = true;
; 1585 : 	int visible;
; 1586 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1587 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 1588 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 1589 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 1590 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 1591 : 	enemyseen = true;
; 1592 : 	attackid = 0;
; 1593 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15442[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15441[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15441[esp+36]
	push	ecx
	mov	DWORD PTR $T15441[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15441[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 1594 : 	if (effect)

	test	edi, edi
	je	SHORT $L8696

; 1595 : 	{
; 1596 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 1597 : 		lastframe = false;
; 1598 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8696:
	pop	edi
	pop	esi
	pop	ebp

; 1599 : 	}
; 1600 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom, COMDAT
; _this$ = ecx

; 1603 : {

	push	esi

; 1604 : 	int msg;
; 1605 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1606 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8705

; 1607 : 	{
; 1608 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 1609 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L8705:
	pop	esi

; 1610 : 	}
; 1611 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$8715 = -40					; size = 4
_pos2$8718 = -36					; size = 12
_pos$8717 = -24						; size = 12
$T15452 = -12						; size = 12
$T15450 = -12						; size = 12
_range$8716 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$8714 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1614 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 1615 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1616 : 	if (o)

	test	eax, eax
	je	SHORT $L8712

; 1617 : 	{
; 1618 : 		seen = o;

	mov	edi, eax
$L8712:

; 1619 : 	}
; 1620 : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8722
	push	ebx

; 1621 : 	{
; 1622 : 		float minrange;
; 1623 : 		float maxrange;
; 1624 : 		float range;
; 1625 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8714[esp+48]

; 1626 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8715[esp+52]

; 1627 : 		Vector3 pos,pos2;
; 1628 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15450[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8717[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8717[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1629 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15452[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8717[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8718[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8718[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 1630 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8718[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$8717[esp+72]
	mov	DWORD PTR _pos2$8718[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8716[esp+72]

; 1631 : 		pos.Z = 0;
; 1632 : 		pos2.Z = 0;
; 1633 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8718[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$8717[esp+80]
	push	edx
	mov	DWORD PTR _pos$8717[esp+92], 0
	mov	DWORD PTR _pos2$8718[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$8714[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15453
	fld	DWORD PTR _range$8716[esp+48]
	fcomp	DWORD PTR _maxrange$8715[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15453

; 1634 : 		{
; 1635 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1636 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 1637 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+36], eax

; 1638 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L15453

; 1639 : 			{
; 1640 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1641 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+32]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 1642 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15453:
	pop	ebx
$L8722:
	pop	edi
	pop	esi

; 1643 : 			}
; 1644 : 		}
; 1645 : 	}
; 1646 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8730 = -244					; size = 4
_pos2$8733 = -240					; size = 12
_pos$8732 = -228					; size = 12
_range$8731 = -216					; size = 4
_minrange$8729 = -212					; size = 4
$T15460 = -208						; size = 12
$T15458 = -208						; size = 12
_params$8738 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1650 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8739
	push	ebp
	push	edi

; 1651 : 	{
; 1652 : 		float minrange;
; 1653 : 		float maxrange;
; 1654 : 		float range;
; 1655 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8729[esp+256]

; 1656 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8730[esp+256]

; 1657 : 		Vector3 pos,pos2;
; 1658 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15458[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8732[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8732[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1659 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8732[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15460[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8733[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8733[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1660 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8733[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8732[esp+280]
	mov	DWORD PTR _pos2$8733[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8731[esp+284]

; 1661 : 		pos.Z = 0;
; 1662 : 		pos2.Z = 0;
; 1663 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8732[esp+264], 0
	mov	DWORD PTR _pos2$8733[esp+264], 0
	je	SHORT $L8736

; 1664 : 		{
; 1665 : 			lastframe = false;
; 1666 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8736:

; 1667 : 		}
; 1668 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8733[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8732[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8729[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15476
	fld	DWORD PTR _range$8731[esp+256]
	fcomp	DWORD PTR _maxrange$8730[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15476
	push	ebx

; 1669 : 		{
; 1670 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8738[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1671 : 			params.Set_Basic(this,100,1,-1);
; 1672 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$8738[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8738[esp+268], eax
	mov	DWORD PTR _params$8738[esp+432], -1
	call	DWORD PTR [edx+96]

; 1673 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8738[esp+264]
	mov	DWORD PTR _params$8738[esp+352], eax
	mov	eax, DWORD PTR _maxrange$8730[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8738[esp+348], eax
	mov	DWORD PTR _params$8738[esp+352], 0
	mov	BYTE PTR _params$8738[esp+364], bl
	call	DWORD PTR [edx+20]

; 1674 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15476:
	pop	edi
	pop	ebp
$L8739:
	pop	esi

; 1675 : 			{
; 1676 : 				primary = false;
; 1677 : 			}
; 1678 : 			else
; 1679 : 			{
; 1680 : 				primary = true;
; 1681 : 			}
; 1682 : 		}
; 1683 : 	}
; 1684 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created
PUBLIC	??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@ ; `string'
;	COMDAT ??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15481 = -1024						; size = 12
$T15482 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 1687 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1688 : 	Vector3 v,v2;
; 1689 : 	GameObject *object;
; 1690 : 	const char *weapon;
; 1691 : 	char params[1000];
; 1692 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15481[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1693 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15482[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1694 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1695 : 	v.Y += v2.Y;
; 1696 : 	v.Z += v2.Z;
; 1697 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1698 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1699 : 	if (object)

	test	edi, edi
	je	$L8752

; 1700 : 	{
; 1701 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1702 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1703 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1112]
	push	OFFSET FLAT:??_C@_0DA@EKBKLHII@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	push	edx
	call	_sprintf

; 1704 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary",params);

	lea	eax, DWORD PTR _params$[esp+1120]
	push	eax
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	OFFSET FLAT:??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 84					; 00000054H
$L8752:
	pop	edi
	pop	esi
	pop	ebx

; 1705 : 	}
; 1706 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 1709 : {

	push	esi
	mov	esi, ecx

; 1710 : 	GameObject *object;
; 1711 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1712 : 	int x;
; 1713 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1714 : 	if (object)

	test	edi, edi
	je	SHORT $L8761

; 1715 : 	{
; 1716 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8761:
	pop	edi
	pop	esi

; 1717 : 	}
; 1718 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1721 : {

	push	ebp
	push	edi

; 1722 : 	float health;
; 1723 : 	bool power;
; 1724 : 	GameObject *object;
; 1725 : 	int x;
; 1726 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1727 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8771

; 1728 : 	{
; 1729 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1730 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1731 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1732 : 		if (object)

	test	ecx, ecx
	je	SHORT $L8773

; 1733 : 		{
; 1734 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8774
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L8773
$L8774:

; 1735 : 			{
; 1736 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L8773:

; 1737 : 			}
; 1738 : 		}
; 1739 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8771:
	pop	edi
	pop	ebp

; 1740 : 	}
; 1741 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1745 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1746 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15495 = -24						; size = 12
$T15496 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 1749 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 1750 : 	primary = true;
; 1751 : 	int visible;
; 1752 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1753 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 1754 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 1755 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 1756 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 1757 : 	enemyseen = true;
; 1758 : 	attackid = 0;
; 1759 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15496[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15495[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15495[esp+36]
	push	ecx
	mov	DWORD PTR $T15495[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15495[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 1760 : 	if (effect)

	test	edi, edi
	je	SHORT $L8785

; 1761 : 	{
; 1762 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 1763 : 		lastframe = false;
; 1764 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L8785:
	pop	edi
	pop	esi
	pop	ebp

; 1765 : 	}
; 1766 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 1769 : {

	push	esi

; 1770 : 	int msg;
; 1771 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1772 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L8794

; 1773 : 	{
; 1774 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 1775 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L8794:
	pop	esi

; 1776 : 	}
; 1777 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$8805 = -40					; size = 4
_pos2$8808 = -36					; size = 12
_pos$8807 = -24						; size = 12
$T15506 = -12						; size = 12
$T15504 = -12						; size = 12
_range$8806 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$8804 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 1780 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 1781 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1782 : 	if (o)

	test	eax, eax
	je	SHORT $L8801

; 1783 : 	{
; 1784 : 		seen = o;

	mov	edi, eax
$L8801:

; 1785 : 	}
; 1786 : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8803
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8803
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8803
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L8803
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8803
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8803
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L8803
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L8812
$L8803:
	push	ebx

; 1787 : 	{
; 1788 : 		float minrange;
; 1789 : 		float maxrange;
; 1790 : 		float range;
; 1791 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8804[esp+48]

; 1792 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8805[esp+52]

; 1793 : 		Vector3 pos,pos2;
; 1794 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15504[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8807[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8807[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 1795 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15506[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$8807[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8808[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8808[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 1796 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8808[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$8807[esp+72]
	mov	DWORD PTR _pos2$8808[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8806[esp+72]

; 1797 : 		pos.Z = 0;
; 1798 : 		pos2.Z = 0;
; 1799 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$8808[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$8807[esp+80]
	push	edx
	mov	DWORD PTR _pos$8807[esp+92], 0
	mov	DWORD PTR _pos2$8808[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$8804[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15507
	fld	DWORD PTR _range$8806[esp+48]
	fcomp	DWORD PTR _maxrange$8805[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15507

; 1800 : 		{
; 1801 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 1802 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 1803 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+36], eax

; 1804 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L15507

; 1805 : 			{
; 1806 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 1807 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+32]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 1808 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15507:
	pop	ebx
$L8812:
	pop	edi
	pop	esi

; 1809 : 			}
; 1810 : 		}
; 1811 : 	}
; 1812 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$8820 = -244					; size = 4
_pos2$8823 = -240					; size = 12
_pos$8822 = -228					; size = 12
_range$8821 = -216					; size = 4
_minrange$8819 = -212					; size = 4
$T15514 = -208						; size = 12
$T15512 = -208						; size = 12
_params$8828 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 1816 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L8829
	push	ebp
	push	edi

; 1817 : 	{
; 1818 : 		float minrange;
; 1819 : 		float maxrange;
; 1820 : 		float range;
; 1821 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$8819[esp+256]

; 1822 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$8820[esp+256]

; 1823 : 		Vector3 pos,pos2;
; 1824 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15512[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8822[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8822[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1825 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$8822[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15514[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8823[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8823[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 1826 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$8823[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$8822[esp+280]
	mov	DWORD PTR _pos2$8823[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$8821[esp+284]

; 1827 : 		pos.Z = 0;
; 1828 : 		pos2.Z = 0;
; 1829 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$8822[esp+264], 0
	mov	DWORD PTR _pos2$8823[esp+264], 0
	je	SHORT $L8826

; 1830 : 		{
; 1831 : 			lastframe = false;
; 1832 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L8826:

; 1833 : 		}
; 1834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8823[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$8822[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$8819[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15530
	fld	DWORD PTR _range$8821[esp+256]
	fcomp	DWORD PTR _maxrange$8820[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15530
	push	ebx

; 1835 : 		{
; 1836 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8828[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 1837 : 			params.Set_Basic(this,100,1,-1);
; 1838 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$8828[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8828[esp+268], eax
	mov	DWORD PTR _params$8828[esp+432], -1
	call	DWORD PTR [edx+96]

; 1839 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$8828[esp+264]
	mov	DWORD PTR _params$8828[esp+352], eax
	mov	eax, DWORD PTR _maxrange$8820[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$8828[esp+348], eax
	mov	DWORD PTR _params$8828[esp+352], 0
	mov	BYTE PTR _params$8828[esp+364], bl
	call	DWORD PTR [edx+20]

; 1840 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15530:
	pop	edi
	pop	ebp
$L8829:
	pop	esi

; 1841 : 			{
; 1842 : 				primary = false;
; 1843 : 			}
; 1844 : 			else
; 1845 : 			{
; 1846 : 				primary = true;
; 1847 : 			}
; 1848 : 		}
; 1849 : 	}
; 1850 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1853 : {

	push	esi
	mov	esi, ecx

; 1854 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1855 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1856 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1857 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1858 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1861 : {

	push	esi
	mov	esi, ecx

; 1862 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1863 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1864 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1865 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1866 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1869 : {

	push	esi
	mov	esi, ecx

; 1870 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1871 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1872 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1873 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1874 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1875 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1878 : {

	push	esi
	mov	esi, ecx

; 1879 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1880 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1881 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1882 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1883 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 1884 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z	; JFW_Building_Gun_No_VTOL::Created
PUBLIC	??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@ ; `string'
;	COMDAT ??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
CONST	SEGMENT
??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@ DB 'JFW_Building_'
	DB	'Gun_Weapon_No_VTOL', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15547 = -1024						; size = 12
$T15548 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z PROC NEAR	; JFW_Building_Gun_No_VTOL::Created, COMDAT
; _this$ = ecx

; 1887 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 1888 : 	Vector3 v,v2;
; 1889 : 	GameObject *object;
; 1890 : 	const char *weapon;
; 1891 : 	char params[1000];
; 1892 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15547[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 1893 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15548[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 1894 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 1895 : 	v.Y += v2.Y;
; 1896 : 	v.Z += v2.Z;
; 1897 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 1898 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 1899 : 	if (object)

	test	edi, edi
	je	SHORT $L8854

; 1900 : 	{
; 1901 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 1902 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 1903 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 1904 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L8854:
	pop	edi
	pop	esi
	pop	ebx

; 1905 : 	}
; 1906 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z ENDP	; JFW_Building_Gun_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z	; JFW_Building_Gun_No_VTOL::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z PROC NEAR	; JFW_Building_Gun_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 1909 : {

	push	esi
	mov	esi, ecx

; 1910 : 	GameObject *object;
; 1911 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 1912 : 	int x;
; 1913 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1914 : 	if (object)

	test	edi, edi
	je	SHORT $L8863

; 1915 : 	{
; 1916 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8863:
	pop	edi
	pop	esi

; 1917 : 	}
; 1918 : }

	ret	8
?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 1921 : {

	push	ebp
	push	edi

; 1922 : 	float health;
; 1923 : 	bool power;
; 1924 : 	GameObject *object;
; 1925 : 	int x;
; 1926 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 1927 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8873

; 1928 : 	{
; 1929 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 1930 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 1931 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 1932 : 		if (object)

	test	ecx, ecx
	je	SHORT $L15555

; 1933 : 		{
; 1934 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8876
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L8876

; 1937 : 			}
; 1938 : 			else
; 1939 : 			{
; 1940 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L15556
$L8876:

; 1935 : 			{
; 1936 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L15556:
	add	esp, 20					; 00000014H
$L15555:

; 1941 : 			}
; 1942 : 		}
; 1943 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8873:
	pop	edi
	pop	ebp

; 1944 : 	}
; 1945 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ ; JFW_Building_Gun_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ PROC NEAR ; JFW_Building_Gun_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 1949 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 1950 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_No_VTOL::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL::Created, COMDAT
; _this$ = ecx

; 1953 : {

	push	esi
	push	edi

; 1954 : 	int visible;
; 1955 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1956 : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 1957 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 1958 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 1959 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 1960 : }

	ret	4
?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_No_VTOL::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 1964 : 	int msg;
; 1965 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 1966 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L8896

; 1967 : 	{
; 1968 : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L8895

; 1969 : 		{
; 1970 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 1971 : 		}
; 1972 : 		else
; 1973 : 		{
; 1974 : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 1975 : 		}
; 1976 : 	}
; 1977 : }

	ret	16					; 00000010H
$L8895:

; 1971 : 		}
; 1972 : 		else
; 1973 : 		{
; 1974 : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L8896:

; 1975 : 		}
; 1976 : 	}
; 1977 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen
EXTRN	?Get_Vehicle_Mode@@YAIPAE@Z:NEAR		; Get_Vehicle_Mode
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$8909 = -240					; size = 12
_pos$8908 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15573 = -208						; size = 12
$T15571 = -208						; size = 12
_params$8913 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 1980 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 1981 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 1982 : 	if (o)

	test	eax, eax
	je	SHORT $L8903

; 1983 : 	{
; 1984 : 		seen = o;

	mov	edi, eax
$L8903:

; 1985 : 	}
; 1986 : 	float minrange;
; 1987 : 	float maxrange;
; 1988 : 	float range;
; 1989 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L8912
	push	ebx

; 1990 : 	{
; 1991 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 1992 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 1993 : 		Vector3 pos,pos2;
; 1994 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15571[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8908[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8908[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 1995 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15573[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$8908[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8909[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8909[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 1996 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$8909[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$8908[esp+276]
	mov	DWORD PTR _pos2$8909[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 1997 : 		pos.Z = 0;
; 1998 : 		pos2.Z = 0;
; 1999 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8909[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$8908[esp+284]
	push	ecx
	mov	DWORD PTR _pos$8908[esp+296], 0
	mov	DWORD PTR _pos2$8909[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15587
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15587

; 2000 : 		{
; 2001 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8913[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2002 : 			params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 2003 : 			params.Set_Attack(seen,maxrange,0,true);

	mov	ecx, DWORD PTR _maxrange$[esp+256]

; 2004 : 			Commands->Action_Attack(obj,params);

	lea	edx, DWORD PTR _params$8913[esp+256]
	push	edx
	mov	DWORD PTR _params$8913[esp+264], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8913[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8913[esp+432], -1
	mov	DWORD PTR _params$8913[esp+352], edi
	mov	DWORD PTR _params$8913[esp+340], ecx
	mov	DWORD PTR _params$8913[esp+344], 0
	mov	BYTE PTR _params$8913[esp+356], 1
	call	DWORD PTR [eax+20]

; 2005 : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [ecx+128]
	add	esp, 24					; 00000018H
$L15587:
	pop	ebx
$L8912:
	pop	edi
	pop	esi

; 2006 : 		}
; 2007 : 	}
; 2008 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 2012 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8919

; 2013 : 	{
; 2014 : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8919:

; 2015 : 	}
; 2016 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z	; JFW_Building_Gun_VTOL_Only::Created
PUBLIC	??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@ ; `string'
;	COMDAT ??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT
??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@ DB 'JFW_Building_Gun'
	DB	'_Weapon_VTOL_Only', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15595 = -1024						; size = 12
$T15596 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 2019 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2020 : 	Vector3 v,v2;
; 2021 : 	GameObject *object;
; 2022 : 	const char *weapon;
; 2023 : 	char params[1000];
; 2024 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15595[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2025 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15596[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2026 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2027 : 	v.Y += v2.Y;
; 2028 : 	v.Z += v2.Z;
; 2029 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2030 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2031 : 	if (object)

	test	edi, edi
	je	SHORT $L8931

; 2032 : 	{
; 2033 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2034 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2035 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2036 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L8931:
	pop	edi
	pop	esi
	pop	ebx

; 2037 : 	}
; 2038 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z ENDP	; JFW_Building_Gun_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z	; JFW_Building_Gun_VTOL_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 2041 : {

	push	esi
	mov	esi, ecx

; 2042 : 	GameObject *object;
; 2043 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2044 : 	int x;
; 2045 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2046 : 	if (object)

	test	edi, edi
	je	SHORT $L8940

; 2047 : 	{
; 2048 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L8940:
	pop	edi
	pop	esi

; 2049 : 	}
; 2050 : }

	ret	8
?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z ENDP	; JFW_Building_Gun_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2053 : {

	push	ebp
	push	edi

; 2054 : 	float health;
; 2055 : 	bool power;
; 2056 : 	GameObject *object;
; 2057 : 	int x;
; 2058 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2059 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L8950

; 2060 : 	{
; 2061 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2062 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2063 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2064 : 		if (object)

	test	ecx, ecx
	je	SHORT $L15603

; 2065 : 		{
; 2066 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L8953
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L8953

; 2069 : 			}
; 2070 : 			else
; 2071 : 			{
; 2072 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L15604
$L8953:

; 2067 : 			{
; 2068 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L15604:
	add	esp, 20					; 00000014H
$L15603:

; 2073 : 			}
; 2074 : 		}
; 2075 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L8950:
	pop	edi
	pop	ebp

; 2076 : 	}
; 2077 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2081 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2082 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 2085 : {

	push	esi
	push	edi

; 2086 : 	int visible;
; 2087 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2088 : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 2089 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 2090 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 2091 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 2092 : }

	ret	4
?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 2096 : 	int msg;
; 2097 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2098 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L8973

; 2099 : 	{
; 2100 : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L8972

; 2101 : 		{
; 2102 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 2103 : 		}
; 2104 : 		else
; 2105 : 		{
; 2106 : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 2107 : 		}
; 2108 : 	}
; 2109 : }

	ret	16					; 00000010H
$L8972:

; 2103 : 		}
; 2104 : 		else
; 2105 : 		{
; 2106 : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L8973:

; 2107 : 		}
; 2108 : 	}
; 2109 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$8986 = -240					; size = 12
_pos$8985 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T15621 = -208						; size = 12
$T15619 = -208						; size = 12
_params$8990 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 2112 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 2113 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2114 : 	if (o)

	test	eax, eax
	je	SHORT $L8980

; 2115 : 	{
; 2116 : 		seen = o;

	mov	edi, eax
$L8980:

; 2117 : 	}
; 2118 : 	float minrange;
; 2119 : 	float maxrange;
; 2120 : 	float range;
; 2121 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$L8989
	push	ebx

; 2122 : 	{
; 2123 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 2124 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 2125 : 		Vector3 pos,pos2;
; 2126 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15619[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$8985[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$8985[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2127 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15621[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$8985[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$8986[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$8986[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 2128 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$8986[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$8985[esp+276]
	mov	DWORD PTR _pos2$8986[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 2129 : 		pos.Z = 0;
; 2130 : 		pos2.Z = 0;
; 2131 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$8986[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$8985[esp+284]
	push	ecx
	mov	DWORD PTR _pos$8985[esp+296], 0
	mov	DWORD PTR _pos2$8986[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15635
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15635

; 2132 : 		{
; 2133 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$8990[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2134 : 			params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 2135 : 			params.Set_Attack(seen,maxrange,0,true);

	mov	ecx, DWORD PTR _maxrange$[esp+256]

; 2136 : 			Commands->Action_Attack(obj,params);

	lea	edx, DWORD PTR _params$8990[esp+256]
	push	edx
	mov	DWORD PTR _params$8990[esp+264], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$8990[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$8990[esp+432], -1
	mov	DWORD PTR _params$8990[esp+352], edi
	mov	DWORD PTR _params$8990[esp+340], ecx
	mov	DWORD PTR _params$8990[esp+344], 0
	mov	BYTE PTR _params$8990[esp+356], 1
	call	DWORD PTR [eax+20]

; 2137 : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [ecx+128]
	add	esp, 24					; 00000018H
$L15635:
	pop	ebx
$L8989:
	pop	edi
	pop	esi

; 2138 : 		}
; 2139 : 	}
; 2140 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2144 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L8996

; 2145 : 	{
; 2146 : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L8996:

; 2147 : 	}
; 2148 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_05MAHMNMLO@Sound?$AA@			; `string'
PUBLIC	??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ ; `string'
PUBLIC	??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound::Created
;	COMDAT ??_C@_05MAHMNMLO@Sound?$AA@
CONST	SEGMENT
??_C@_05MAHMNMLO@Sound?$AA@ DB 'Sound', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
CONST	SEGMENT
??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15643 = -1024						; size = 12
$T15644 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound::Created, COMDAT
; _this$ = ecx

; 2151 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2152 : 	Vector3 v,v2;
; 2153 : 	GameObject *object;
; 2154 : 	const char *weapon;
; 2155 : 	char params[1000];
; 2156 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15643[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2157 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15644[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2158 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2159 : 	v.Y += v2.Y;
; 2160 : 	v.Z += v2.Z;
; 2161 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2162 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2163 : 	if (object)

	test	edi, edi
	je	$L9008

; 2164 : 	{
; 2165 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2166 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2167 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2168 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9008:
	pop	edi
	pop	esi
	pop	ebx

; 2169 : 	}
; 2170 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound::Killed, COMDAT
; _this$ = ecx

; 2173 : {

	push	esi
	mov	esi, ecx

; 2174 : 	GameObject *object;
; 2175 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2176 : 	int x;
; 2177 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2178 : 	if (object)

	test	edi, edi
	je	SHORT $L9019

; 2179 : 	{
; 2180 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9019:
	pop	edi
	pop	esi

; 2181 : 	}
; 2182 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound::Timer_Expired, COMDAT
; _this$ = ecx

; 2185 : {

	push	ebp
	push	edi

; 2186 : 	float health;
; 2187 : 	bool power;
; 2188 : 	GameObject *object;
; 2189 : 	int x;
; 2190 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2191 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9029

; 2192 : 	{
; 2193 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2194 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2195 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2196 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9031

; 2197 : 		{
; 2198 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9032
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9031
$L9032:

; 2199 : 			{
; 2200 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9031:

; 2201 : 			}
; 2202 : 		}
; 2203 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9029:
	pop	edi
	pop	ebp

; 2204 : 	}
; 2205 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ ; JFW_Building_Gun_Animated_Sound::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2209 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2210 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z
_TEXT	SEGMENT
$T15657 = -24						; size = 12
$T15658 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Created, COMDAT
; _this$ = ecx

; 2213 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 2214 : 	int visible;
; 2215 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2216 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 2217 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 2218 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 2219 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 2220 : 	enemyseen = true;
; 2221 : 	attackid = 0;
; 2222 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15658[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15657[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15657[esp+36]
	push	ecx
	mov	DWORD PTR $T15657[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15657[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 2223 : 	if (effect)

	test	edi, edi
	je	SHORT $L9043

; 2224 : 	{
; 2225 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 2226 : 		lastframe = false;
; 2227 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9043:
	pop	edi
	pop	esi
	pop	ebp

; 2228 : 	}
; 2229 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Custom, COMDAT
; _this$ = ecx

; 2232 : {

	push	esi

; 2233 : 	int msg;
; 2234 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2235 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9052

; 2236 : 	{
; 2237 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 2238 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L9052:
	pop	esi

; 2239 : 	}
; 2240 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T15668 = -12						; size = 12
$T15666 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Enemy_Seen, COMDAT
; _this$ = ecx

; 2243 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 2244 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	edi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2245 : 	if (o)

	test	eax, eax
	je	SHORT $L9059

; 2246 : 	{
; 2247 : 		seen = o;

	mov	ebx, eax
$L9059:

; 2248 : 	}
; 2249 : 	float minrange;
; 2250 : 	float maxrange;
; 2251 : 	float range;
; 2252 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 2253 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 2254 : 	Vector3 pos,pos2;
; 2255 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15666[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 2256 : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15668[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 2257 : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+72]
	mov	DWORD PTR _pos2$[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+72]

; 2258 : 	pos.Z = 0;
; 2259 : 	pos2.Z = 0;
; 2260 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+80]
	push	ecx
	mov	DWORD PTR _pos$[esp+92], 0
	mov	DWORD PTR _pos2$[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L9068
	fld	DWORD PTR _range$[esp+48]
	fcomp	DWORD PTR _maxrange$[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L9068

; 2261 : 	{
; 2262 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2263 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 2264 : 		attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 2265 : 		if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L9068

; 2266 : 		{
; 2267 : 			lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2268 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 2269 : 			Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 2270 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L9068:
	pop	edi
	pop	esi
	pop	ebx

; 2271 : 		}
; 2272 : 	}
; 2273 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Action_Complete, COMDAT
; _this$ = ecx

; 2276 : {

	push	esi

; 2277 : 	enemyseen = true;
; 2278 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2279 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2280 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Action_Complete, COMDAT
; _this$ = ecx

; 2283 : {

	push	esi

; 2284 : 	enemyseen = true;
; 2285 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2286 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2287 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Action_Complete, COMDAT
; _this$ = ecx

; 2290 : {

	push	esi

; 2291 : 	enemyseen = true;
; 2292 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2293 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2294 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 2297 : {

	push	esi

; 2298 : 	enemyseen = true;
; 2299 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2300 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2301 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 2304 : {

	push	esi

; 2305 : 	enemyseen = true;
; 2306 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2307 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2308 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 2311 : {

	push	esi

; 2312 : 	enemyseen = true;
; 2313 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 2314 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 2315 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9112 = -244					; size = 4
_pos2$9115 = -240					; size = 12
_pos$9114 = -228					; size = 12
_range$9113 = -216					; size = 4
_minrange$9111 = -212					; size = 4
$T15693 = -208						; size = 12
$T15691 = -208						; size = 12
_params$9120 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired, COMDAT
; _this$ = ecx

; 2319 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9119
	push	ebp
	push	edi

; 2320 : 	{
; 2321 : 		float minrange;
; 2322 : 		float maxrange;
; 2323 : 		float range;
; 2324 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9111[esp+256]

; 2325 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9112[esp+256]

; 2326 : 		Vector3 pos,pos2;
; 2327 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15691[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9114[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9114[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2328 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9114[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15693[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9115[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9115[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 2329 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9115[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9114[esp+280]
	mov	DWORD PTR _pos2$9115[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9113[esp+284]

; 2330 : 		pos.Z = 0;
; 2331 : 		pos2.Z = 0;
; 2332 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9114[esp+264], 0
	mov	DWORD PTR _pos2$9115[esp+264], 0
	je	SHORT $L9118

; 2333 : 		{
; 2334 : 			lastframe = false;
; 2335 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9118:

; 2336 : 		}
; 2337 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9115[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9114[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9111[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15708
	fld	DWORD PTR _range$9113[esp+256]
	fcomp	DWORD PTR _maxrange$9112[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15708

; 2338 : 		{
; 2339 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9120[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2340 : 			params.Set_Basic(this,100,1,-1);
; 2341 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$9120[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$9120[esp+264], eax
	mov	DWORD PTR _params$9120[esp+428], -1
	call	DWORD PTR [edx+96]

; 2342 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9120[esp+260]
	mov	DWORD PTR _params$9120[esp+348], eax
	mov	eax, DWORD PTR _maxrange$9112[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9120[esp+344], eax
	mov	DWORD PTR _params$9120[esp+348], 0
	mov	BYTE PTR _params$9120[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15708:
	pop	edi
	pop	ebp
$L9119:
	pop	esi

; 2343 : 		}
; 2344 : 	}
; 2345 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created
PUBLIC	??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ ; `string'
PUBLIC	??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
CONST	SEGMENT
??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@ DB '%'
	DB	's,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_Aircraft', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15713 = -1024						; size = 12
$T15714 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 2348 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2349 : 	Vector3 v,v2;
; 2350 : 	GameObject *object;
; 2351 : 	const char *weapon;
; 2352 : 	char params[1000];
; 2353 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15713[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2354 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15714[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2355 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2356 : 	v.Y += v2.Y;
; 2357 : 	v.Z += v2.Z;
; 2358 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2359 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2360 : 	if (object)

	test	edi, edi
	je	$L9132

; 2361 : 	{
; 2362 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2363 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2364 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1120]
	push	edx
	call	_sprintf

; 2365 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET FLAT:??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 88					; 00000058H
$L9132:
	pop	edi
	pop	esi
	pop	ebx

; 2366 : 	}
; 2367 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed, COMDAT
; _this$ = ecx

; 2370 : {

	push	esi
	mov	esi, ecx

; 2371 : 	GameObject *object;
; 2372 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2373 : 	int x;
; 2374 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2375 : 	if (object)

	test	edi, edi
	je	SHORT $L9142

; 2376 : 	{
; 2377 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9142:
	pop	edi
	pop	esi

; 2378 : 	}
; 2379 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 2382 : {

	push	ebp
	push	edi

; 2383 : 	float health;
; 2384 : 	bool power;
; 2385 : 	GameObject *object;
; 2386 : 	int x;
; 2387 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2388 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9152

; 2389 : 	{
; 2390 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2391 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2392 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2393 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9154

; 2394 : 		{
; 2395 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9155
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9154
$L9155:

; 2396 : 			{
; 2397 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9154:

; 2398 : 			}
; 2399 : 		}
; 2400 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9152:
	pop	edi
	pop	ebp

; 2401 : 	}
; 2402 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2406 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2407 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z
_TEXT	SEGMENT
$T15727 = -24						; size = 12
$T15728 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Created, COMDAT
; _this$ = ecx

; 2410 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 2411 : 	int visible;
; 2412 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2413 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 2414 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 2415 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 2416 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 2417 : 	attackid = 0;
; 2418 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15728[esp+64]
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15727[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15727[esp+36]
	push	ecx
	mov	DWORD PTR $T15727[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15727[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 2419 : 	if (effect)

	test	edi, edi
	je	SHORT $L9166

; 2420 : 	{
; 2421 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 2422 : 		lastframe = false;
; 2423 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9166:
	pop	edi
	pop	esi
	pop	ebp

; 2424 : 	}
; 2425 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom, COMDAT
; _this$ = ecx

; 2428 : {

	push	esi

; 2429 : 	int msg;
; 2430 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2431 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9175

; 2432 : 	{
; 2433 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 2434 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L9175:
	pop	esi

; 2435 : 	}
; 2436 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9185 = -40					; size = 4
_pos2$9188 = -36					; size = 12
_pos$9187 = -24						; size = 12
$T15738 = -12						; size = 12
$T15736 = -12						; size = 12
_range$9186 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9184 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen, COMDAT
; _this$ = ecx

; 2439 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 2440 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2441 : 	if (o)

	test	eax, eax
	je	SHORT $L9182

; 2442 : 	{
; 2443 : 		seen = o;

	mov	edi, eax
$L9182:

; 2444 : 	}
; 2445 : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9192
	push	ebx

; 2446 : 	{
; 2447 : 		float minrange;
; 2448 : 		float maxrange;
; 2449 : 		float range;
; 2450 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9184[esp+48]

; 2451 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9185[esp+52]

; 2452 : 		Vector3 pos,pos2;
; 2453 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15736[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9187[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9187[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2454 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15738[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$9187[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9188[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9188[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 2455 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9188[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$9187[esp+72]
	mov	DWORD PTR _pos2$9188[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9186[esp+72]

; 2456 : 		pos.Z = 0;
; 2457 : 		pos2.Z = 0;
; 2458 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$9188[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$9187[esp+80]
	push	edx
	mov	DWORD PTR _pos$9187[esp+92], 0
	mov	DWORD PTR _pos2$9188[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$9184[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15739
	fld	DWORD PTR _range$9186[esp+48]
	fcomp	DWORD PTR _maxrange$9185[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15739

; 2459 : 		{
; 2460 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2461 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 2462 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+32], eax

; 2463 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L15739

; 2464 : 			{
; 2465 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2466 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 2467 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$9188[esp+56]
	push	edx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]

; 2468 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15739:
	pop	ebx
$L9192:
	pop	edi
	pop	esi

; 2469 : 			}
; 2470 : 		}
; 2471 : 	}
; 2472 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9200 = -244					; size = 4
_pos2$9203 = -240					; size = 12
_pos$9202 = -228					; size = 12
_range$9201 = -216					; size = 4
_minrange$9199 = -212					; size = 4
$T15746 = -208						; size = 12
$T15744 = -208						; size = 12
_params$9208 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired, COMDAT
; _this$ = ecx

; 2476 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9207
	push	ebp
	push	edi

; 2477 : 	{
; 2478 : 		float minrange;
; 2479 : 		float maxrange;
; 2480 : 		float range;
; 2481 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9199[esp+256]

; 2482 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9200[esp+256]

; 2483 : 		Vector3 pos,pos2;
; 2484 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15744[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9202[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9202[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2485 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9202[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15746[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9203[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9203[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 2486 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9203[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9202[esp+280]
	mov	DWORD PTR _pos2$9203[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9201[esp+284]

; 2487 : 		pos.Z = 0;
; 2488 : 		pos2.Z = 0;
; 2489 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9202[esp+264], 0
	mov	DWORD PTR _pos2$9203[esp+264], 0
	je	SHORT $L9206

; 2490 : 		{
; 2491 : 			lastframe = false;
; 2492 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9206:

; 2493 : 		}
; 2494 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9203[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9202[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9199[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15761
	fld	DWORD PTR _range$9201[esp+256]
	fcomp	DWORD PTR _maxrange$9200[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15761

; 2495 : 		{
; 2496 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9208[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2497 : 			params.Set_Basic(this,100,1,-1);
; 2498 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$9208[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$9208[esp+264], eax
	mov	DWORD PTR _params$9208[esp+428], -1
	call	DWORD PTR [edx+96]

; 2499 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9208[esp+260]
	mov	DWORD PTR _params$9208[esp+348], eax
	mov	eax, DWORD PTR _maxrange$9200[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9208[esp+344], eax
	mov	DWORD PTR _params$9208[esp+348], 0
	mov	BYTE PTR _params$9208[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15761:
	pop	edi
	pop	ebp
$L9207:
	pop	esi

; 2500 : 		}
; 2501 : 	}
; 2502 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created
;	COMDAT ??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Aircraft_Only', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15766 = -1024						; size = 12
$T15767 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 2505 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2506 : 	Vector3 v,v2;
; 2507 : 	GameObject *object;
; 2508 : 	const char *weapon;
; 2509 : 	char params[1000];
; 2510 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15766[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2511 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15767[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2512 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2513 : 	v.Y += v2.Y;
; 2514 : 	v.Z += v2.Z;
; 2515 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2516 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2517 : 	if (object)

	test	edi, edi
	je	$L9220

; 2518 : 	{
; 2519 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2520 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2521 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1120]
	push	edx
	call	_sprintf

; 2522 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET FLAT:??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 88					; 00000058H
$L9220:
	pop	edi
	pop	esi
	pop	ebx

; 2523 : 	}
; 2524 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed, COMDAT
; _this$ = ecx

; 2527 : {

	push	esi
	mov	esi, ecx

; 2528 : 	GameObject *object;
; 2529 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2530 : 	int x;
; 2531 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2532 : 	if (object)

	test	edi, edi
	je	SHORT $L9229

; 2533 : 	{
; 2534 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9229:
	pop	edi
	pop	esi

; 2535 : 	}
; 2536 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2539 : {

	push	ebp
	push	edi

; 2540 : 	float health;
; 2541 : 	bool power;
; 2542 : 	GameObject *object;
; 2543 : 	int x;
; 2544 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2545 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9239

; 2546 : 	{
; 2547 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2548 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2549 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2550 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9241

; 2551 : 		{
; 2552 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9242
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9241
$L9242:

; 2553 : 			{
; 2554 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9241:

; 2555 : 			}
; 2556 : 		}
; 2557 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9239:
	pop	edi
	pop	ebp

; 2558 : 	}
; 2559 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2563 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2564 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z
_TEXT	SEGMENT
$T15780 = -24						; size = 12
$T15781 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Created, COMDAT
; _this$ = ecx

; 2567 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 2568 : 	int visible;
; 2569 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2570 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 2571 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 2572 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 2573 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 2574 : 	enemyseen = true;
; 2575 : 	attackid = 0;
; 2576 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15781[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15780[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15780[esp+36]
	push	ecx
	mov	DWORD PTR $T15780[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15780[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 2577 : 	if (effect)

	test	edi, edi
	je	SHORT $L9253

; 2578 : 	{
; 2579 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 2580 : 		lastframe = false;
; 2581 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9253:
	pop	edi
	pop	esi
	pop	ebp

; 2582 : 	}
; 2583 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom, COMDAT
; _this$ = ecx

; 2586 : {

	push	esi

; 2587 : 	int msg;
; 2588 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2589 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9262

; 2590 : 	{
; 2591 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 2592 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L9262:
	pop	esi

; 2593 : 	}
; 2594 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9273 = -40					; size = 4
_pos2$9276 = -36					; size = 12
_pos$9275 = -24						; size = 12
$T15791 = -12						; size = 12
$T15789 = -12						; size = 12
_range$9274 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9272 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 2597 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 2598 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2599 : 	if (o)

	test	eax, eax
	je	SHORT $L9269

; 2600 : 	{
; 2601 : 		seen = o;

	mov	edi, eax
$L9269:

; 2602 : 	}
; 2603 : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9271
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9271
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9271
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9271
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9271
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9271
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9271
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L9280
$L9271:
	push	ebx

; 2604 : 	{
; 2605 : 		float minrange;
; 2606 : 		float maxrange;
; 2607 : 		float range;
; 2608 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9272[esp+48]

; 2609 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9273[esp+52]

; 2610 : 		Vector3 pos,pos2;
; 2611 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15789[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9275[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9275[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2612 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15791[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$9275[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9276[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9276[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 2613 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9276[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$9275[esp+72]
	mov	DWORD PTR _pos2$9276[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9274[esp+72]

; 2614 : 		pos.Z = 0;
; 2615 : 		pos2.Z = 0;
; 2616 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$9276[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$9275[esp+80]
	push	edx
	mov	DWORD PTR _pos$9275[esp+92], 0
	mov	DWORD PTR _pos2$9276[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$9272[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15792
	fld	DWORD PTR _range$9274[esp+48]
	fcomp	DWORD PTR _maxrange$9273[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15792

; 2617 : 		{
; 2618 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 2619 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 2620 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+32], eax

; 2621 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L15792

; 2622 : 			{
; 2623 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 2624 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+28]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 2625 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$9276[esp+56]
	push	edx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]

; 2626 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15792:
	pop	ebx
$L9280:
	pop	edi
	pop	esi

; 2627 : 			}
; 2628 : 		}
; 2629 : 	}
; 2630 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9288 = -244					; size = 4
_pos2$9291 = -240					; size = 12
_pos$9290 = -228					; size = 12
_range$9289 = -216					; size = 4
_minrange$9287 = -212					; size = 4
$T15799 = -208						; size = 12
$T15797 = -208						; size = 12
_params$9296 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 2634 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9295
	push	ebp
	push	edi

; 2635 : 	{
; 2636 : 		float minrange;
; 2637 : 		float maxrange;
; 2638 : 		float range;
; 2639 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9287[esp+256]

; 2640 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9288[esp+256]

; 2641 : 		Vector3 pos,pos2;
; 2642 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15797[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9290[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9290[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2643 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9290[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15799[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9291[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9291[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 2644 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9291[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9290[esp+280]
	mov	DWORD PTR _pos2$9291[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9289[esp+284]

; 2645 : 		pos.Z = 0;
; 2646 : 		pos2.Z = 0;
; 2647 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9290[esp+264], 0
	mov	DWORD PTR _pos2$9291[esp+264], 0
	je	SHORT $L9294

; 2648 : 		{
; 2649 : 			lastframe = false;
; 2650 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9294:

; 2651 : 		}
; 2652 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9291[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9290[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9287[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L15814
	fld	DWORD PTR _range$9289[esp+256]
	fcomp	DWORD PTR _maxrange$9288[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15814

; 2653 : 		{
; 2654 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9296[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2655 : 			params.Set_Basic(this,100,1,-1);
; 2656 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$9296[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$9296[esp+264], eax
	mov	DWORD PTR _params$9296[esp+428], -1
	call	DWORD PTR [edx+96]

; 2657 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9296[esp+260]
	mov	DWORD PTR _params$9296[esp+348], eax
	mov	eax, DWORD PTR _maxrange$9288[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9296[esp+344], eax
	mov	DWORD PTR _params$9296[esp+348], 0
	mov	BYTE PTR _params$9296[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L15814:
	pop	edi
	pop	ebp
$L9295:
	pop	esi

; 2658 : 		}
; 2659 : 	}
; 2660 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Created
PUBLIC	??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15819 = -1024						; size = 12
$T15820 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::Created, COMDAT
; _this$ = ecx

; 2663 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2664 : 	Vector3 v,v2;
; 2665 : 	GameObject *object;
; 2666 : 	const char *weapon;
; 2667 : 	char params[1000];
; 2668 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15819[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2669 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15820[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2670 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2671 : 	v.Y += v2.Y;
; 2672 : 	v.Z += v2.Z;
; 2673 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2674 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2675 : 	if (object)

	test	edi, edi
	je	$L9308

; 2676 : 	{
; 2677 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2678 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2679 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 2680 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9308:
	pop	edi
	pop	esi
	pop	ebx

; 2681 : 	}
; 2682 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::Killed, COMDAT
; _this$ = ecx

; 2685 : {

	push	esi
	mov	esi, ecx

; 2686 : 	GameObject *object;
; 2687 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2688 : 	int x;
; 2689 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2690 : 	if (object)

	test	edi, edi
	je	SHORT $L9317

; 2691 : 	{
; 2692 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9317:
	pop	edi
	pop	esi

; 2693 : 	}
; 2694 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2697 : {

	push	ebp
	push	edi

; 2698 : 	float health;
; 2699 : 	bool power;
; 2700 : 	GameObject *object;
; 2701 : 	int x;
; 2702 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2703 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9327

; 2704 : 	{
; 2705 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2706 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2707 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2708 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9329

; 2709 : 		{
; 2710 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9330
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9329
$L9330:

; 2711 : 			{
; 2712 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9329:

; 2713 : 			}
; 2714 : 		}
; 2715 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9327:
	pop	edi
	pop	ebp

; 2716 : 	}
; 2717 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2721 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2722 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2725 : {

	push	esi
	mov	esi, ecx

; 2726 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2727 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2728 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2729 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2730 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 2731 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2734 : {

	push	esi
	mov	esi, ecx

; 2735 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2736 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2737 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2738 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 2739 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15839 = -24						; size = 12
$T15840 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Created, COMDAT
; _this$ = ecx

; 2742 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 2743 : 	primary = true;
; 2744 : 	int visible;
; 2745 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2746 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 2747 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 2748 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 2749 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 2750 : 	enemyseen = true;
; 2751 : 	attackid = 0;
; 2752 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15840[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15839[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15839[esp+36]
	push	ecx
	mov	DWORD PTR $T15839[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15839[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 2753 : 	if (effect)

	test	edi, edi
	je	SHORT $L9347

; 2754 : 	{
; 2755 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 2756 : 		lastframe = false;
; 2757 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9347:
	pop	edi
	pop	esi
	pop	ebp

; 2758 : 	}
; 2759 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom, COMDAT
; _this$ = ecx

; 2762 : {

	push	esi

; 2763 : 	int msg;
; 2764 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2765 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9356

; 2766 : 	{
; 2767 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 2768 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L9356:
	pop	esi

; 2769 : 	}
; 2770 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -40					; size = 4
_pos2$ = -36						; size = 12
_pos$ = -24						; size = 12
$T15850 = -12						; size = 12
$T15848 = -12						; size = 12
_range$ = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$ = 12						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 2773 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 2774 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	edi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2775 : 	if (o)

	test	eax, eax
	je	SHORT $L9363

; 2776 : 	{
; 2777 : 		seen = o;

	mov	ebx, eax
$L9363:

; 2778 : 	}
; 2779 : 	float minrange;
; 2780 : 	float maxrange;
; 2781 : 	float range;
; 2782 : 	minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+48]

; 2783 : 	maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+52]

; 2784 : 	Vector3 pos,pos2;
; 2785 : 	pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15848[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 2786 : 	pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15850[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 2787 : 	range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+72]
	mov	DWORD PTR _pos2$[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+72]

; 2788 : 	pos.Z = 0;
; 2789 : 	pos2.Z = 0;
; 2790 : 	if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$[esp+80]
	push	ecx
	mov	DWORD PTR _pos$[esp+92], 0
	mov	DWORD PTR _pos2$[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L9372
	fld	DWORD PTR _range$[esp+48]
	fcomp	DWORD PTR _maxrange$[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L9372

; 2791 : 	{
; 2792 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 2793 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 2794 : 		attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 2795 : 		if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L9372

; 2796 : 		{
; 2797 : 			lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 2798 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 2799 : 			Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 2800 : 			Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L9372:
	pop	edi
	pop	esi
	pop	ebx

; 2801 : 		}
; 2802 : 	}
; 2803 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9380 = -244					; size = 4
_pos2$9383 = -240					; size = 12
_pos$9382 = -228					; size = 12
_range$9381 = -216					; size = 4
_minrange$9379 = -212					; size = 4
$T15857 = -208						; size = 12
$T15855 = -208						; size = 12
_params$9388 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2807 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9389
	push	ebp
	push	edi

; 2808 : 	{
; 2809 : 		float minrange;
; 2810 : 		float maxrange;
; 2811 : 		float range;
; 2812 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9379[esp+256]

; 2813 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9380[esp+256]

; 2814 : 		Vector3 pos,pos2;
; 2815 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15855[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9382[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9382[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2816 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9382[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15857[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9383[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9383[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 2817 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9383[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9382[esp+280]
	mov	DWORD PTR _pos2$9383[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9381[esp+284]

; 2818 : 		pos.Z = 0;
; 2819 : 		pos2.Z = 0;
; 2820 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9382[esp+264], 0
	mov	DWORD PTR _pos2$9383[esp+264], 0
	je	SHORT $L9386

; 2821 : 		{
; 2822 : 			lastframe = false;
; 2823 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9386:

; 2824 : 		}
; 2825 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9383[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9382[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9379[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15873
	fld	DWORD PTR _range$9381[esp+256]
	fcomp	DWORD PTR _maxrange$9380[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15873
	push	ebx

; 2826 : 		{
; 2827 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9388[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2828 : 			params.Set_Basic(this,100,1,-1);
; 2829 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$9388[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$9388[esp+268], eax
	mov	DWORD PTR _params$9388[esp+432], -1
	call	DWORD PTR [edx+96]

; 2830 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9388[esp+264]
	mov	DWORD PTR _params$9388[esp+352], eax
	mov	eax, DWORD PTR _maxrange$9380[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9388[esp+348], eax
	mov	DWORD PTR _params$9388[esp+352], 0
	mov	BYTE PTR _params$9388[esp+364], bl
	call	DWORD PTR [edx+20]

; 2831 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15873:
	pop	edi
	pop	ebp
$L9389:
	pop	esi

; 2832 : 			{
; 2833 : 				primary = false;
; 2834 : 			}
; 2835 : 			else
; 2836 : 			{
; 2837 : 				primary = true;
; 2838 : 			}
; 2839 : 		}
; 2840 : 	}
; 2841 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created
;	COMDAT ??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_Aircraft_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15878 = -1024						; size = 12
$T15879 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 2844 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 2845 : 	Vector3 v,v2;
; 2846 : 	GameObject *object;
; 2847 : 	const char *weapon;
; 2848 : 	char params[1000];
; 2849 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15878[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 2850 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15879[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 2851 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 2852 : 	v.Y += v2.Y;
; 2853 : 	v.Z += v2.Z;
; 2854 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 2855 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 2856 : 	if (object)

	test	edi, edi
	je	$L9402

; 2857 : 	{
; 2858 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 2859 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 2860 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1120]
	push	edx
	call	_sprintf

; 2861 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET FLAT:??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 88					; 00000058H
$L9402:
	pop	edi
	pop	esi
	pop	ebx

; 2862 : 	}
; 2863 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed, COMDAT
; _this$ = ecx

; 2866 : {

	push	esi
	mov	esi, ecx

; 2867 : 	GameObject *object;
; 2868 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 2869 : 	int x;
; 2870 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2871 : 	if (object)

	test	edi, edi
	je	SHORT $L9411

; 2872 : 	{
; 2873 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9411:
	pop	edi
	pop	esi

; 2874 : 	}
; 2875 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2878 : {

	push	ebp
	push	edi

; 2879 : 	float health;
; 2880 : 	bool power;
; 2881 : 	GameObject *object;
; 2882 : 	int x;
; 2883 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 2884 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9421

; 2885 : 	{
; 2886 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 2887 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 2888 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 2889 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9423

; 2890 : 		{
; 2891 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9424
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9423
$L9424:

; 2892 : 			{
; 2893 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9423:

; 2894 : 			}
; 2895 : 		}
; 2896 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9421:
	pop	edi
	pop	ebp

; 2897 : 	}
; 2898 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 2902 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 2903 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15892 = -24						; size = 12
$T15893 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Created, COMDAT
; _this$ = ecx

; 2906 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 2907 : 	primary = true;
; 2908 : 	int visible;
; 2909 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2910 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 2911 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 2912 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 2913 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 2914 : 	enemyseen = true;
; 2915 : 	attackid = 0;
; 2916 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15893[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15892[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15892[esp+36]
	push	ecx
	mov	DWORD PTR $T15892[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15892[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 2917 : 	if (effect)

	test	edi, edi
	je	SHORT $L9435

; 2918 : 	{
; 2919 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 2920 : 		lastframe = false;
; 2921 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9435:
	pop	edi
	pop	esi
	pop	ebp

; 2922 : 	}
; 2923 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom, COMDAT
; _this$ = ecx

; 2926 : {

	push	esi

; 2927 : 	int msg;
; 2928 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 2929 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9444

; 2930 : 	{
; 2931 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 2932 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L9444:
	pop	esi

; 2933 : 	}
; 2934 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9454 = -40					; size = 4
_pos2$9457 = -36					; size = 12
_pos$9456 = -24						; size = 12
$T15903 = -12						; size = 12
$T15901 = -12						; size = 12
_range$9455 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9453 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 2937 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 2938 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 2939 : 	if (o)

	test	eax, eax
	je	SHORT $L9451

; 2940 : 	{
; 2941 : 		seen = o;

	mov	edi, eax
$L9451:

; 2942 : 	}
; 2943 : 	if ((stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) && (stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9461
	push	ebx

; 2944 : 	{
; 2945 : 		float minrange;
; 2946 : 		float maxrange;
; 2947 : 		float range;
; 2948 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9453[esp+48]

; 2949 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9454[esp+52]

; 2950 : 		Vector3 pos,pos2;
; 2951 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15901[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9456[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9456[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 2952 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15903[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$9456[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9457[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9457[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 2953 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9457[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$9456[esp+72]
	mov	DWORD PTR _pos2$9457[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9455[esp+72]

; 2954 : 		pos.Z = 0;
; 2955 : 		pos2.Z = 0;
; 2956 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$9457[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$9456[esp+80]
	push	edx
	mov	DWORD PTR _pos$9456[esp+92], 0
	mov	DWORD PTR _pos2$9457[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$9453[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15904
	fld	DWORD PTR _range$9455[esp+48]
	fcomp	DWORD PTR _maxrange$9454[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15904

; 2957 : 		{
; 2958 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 2959 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 2960 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+36], eax

; 2961 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L15904

; 2962 : 			{
; 2963 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 2964 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+32]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 2965 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$9457[esp+56]
	push	edx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]

; 2966 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15904:
	pop	ebx
$L9461:
	pop	edi
	pop	esi

; 2967 : 			}
; 2968 : 		}
; 2969 : 	}
; 2970 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9469 = -244					; size = 4
_pos2$9472 = -240					; size = 12
_pos$9471 = -228					; size = 12
_range$9470 = -216					; size = 4
_minrange$9468 = -212					; size = 4
$T15911 = -208						; size = 12
$T15909 = -208						; size = 12
_params$9477 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 2974 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9478
	push	ebp
	push	edi

; 2975 : 	{
; 2976 : 		float minrange;
; 2977 : 		float maxrange;
; 2978 : 		float range;
; 2979 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9468[esp+256]

; 2980 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9469[esp+256]

; 2981 : 		Vector3 pos,pos2;
; 2982 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15909[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9471[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9471[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 2983 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9471[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15911[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9472[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9472[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 2984 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9472[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9471[esp+280]
	mov	DWORD PTR _pos2$9472[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9470[esp+284]

; 2985 : 		pos.Z = 0;
; 2986 : 		pos2.Z = 0;
; 2987 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9471[esp+264], 0
	mov	DWORD PTR _pos2$9472[esp+264], 0
	je	SHORT $L9475

; 2988 : 		{
; 2989 : 			lastframe = false;
; 2990 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9475:

; 2991 : 		}
; 2992 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9472[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9471[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9468[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15927
	fld	DWORD PTR _range$9470[esp+256]
	fcomp	DWORD PTR _maxrange$9469[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15927
	push	ebx

; 2993 : 		{
; 2994 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9477[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 2995 : 			params.Set_Basic(this,100,1,-1);
; 2996 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$9477[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$9477[esp+268], eax
	mov	DWORD PTR _params$9477[esp+432], -1
	call	DWORD PTR [edx+96]

; 2997 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9477[esp+264]
	mov	DWORD PTR _params$9477[esp+352], eax
	mov	eax, DWORD PTR _maxrange$9469[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9477[esp+348], eax
	mov	DWORD PTR _params$9477[esp+352], 0
	mov	BYTE PTR _params$9477[esp+364], bl
	call	DWORD PTR [edx+20]

; 2998 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15927:
	pop	edi
	pop	ebp
$L9478:
	pop	esi

; 2999 : 			{
; 3000 : 				primary = false;
; 3001 : 			}
; 3002 : 			else
; 3003 : 			{
; 3004 : 				primary = true;
; 3005 : 			}
; 3006 : 		}
; 3007 : 	}
; 3008 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created
PUBLIC	??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T15932 = -1024						; size = 12
$T15933 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3011 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3012 : 	Vector3 v,v2;
; 3013 : 	GameObject *object;
; 3014 : 	const char *weapon;
; 3015 : 	char params[1000];
; 3016 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T15932[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3017 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T15933[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3018 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3019 : 	v.Y += v2.Y;
; 3020 : 	v.Z += v2.Z;
; 3021 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3022 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3023 : 	if (object)

	test	edi, edi
	je	$L9491

; 3024 : 	{
; 3025 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3026 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3027 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("Preset1"),Get_Parameter("Preset2"),Get_Parameter("Preset3"),Get_Parameter("Preset4"),Get_Parameter("Preset5"),Get_Parameter("Preset6"),Get_Parameter("Preset7"),Get_Parameter("Preset8"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0DD@GJLADFMP@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs@
	lea	edx, DWORD PTR _params$[esp+1120]
	push	edx
	call	_sprintf

; 3028 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1124]
	push	eax
	push	OFFSET FLAT:??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 88					; 00000058H
$L9491:
	pop	edi
	pop	esi
	pop	ebx

; 3029 : 	}
; 3030 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 3033 : {

	push	esi
	mov	esi, ecx

; 3034 : 	GameObject *object;
; 3035 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3036 : 	int x;
; 3037 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3038 : 	if (object)

	test	edi, edi
	je	SHORT $L9500

; 3039 : 	{
; 3040 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9500:
	pop	edi
	pop	esi

; 3041 : 	}
; 3042 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3045 : {

	push	ebp
	push	edi

; 3046 : 	float health;
; 3047 : 	bool power;
; 3048 : 	GameObject *object;
; 3049 : 	int x;
; 3050 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3051 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9510

; 3052 : 	{
; 3053 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3054 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3055 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3056 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9512

; 3057 : 		{
; 3058 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9513
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9512
$L9513:

; 3059 : 			{
; 3060 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9512:

; 3061 : 			}
; 3062 : 		}
; 3063 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9510:
	pop	edi
	pop	ebp

; 3064 : 	}
; 3065 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3069 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3070 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T15946 = -24						; size = 12
$T15947 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3073 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3074 : 	primary = true;
; 3075 : 	int visible;
; 3076 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3077 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 3078 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 3079 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 3080 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 3081 : 	enemyseen = true;
; 3082 : 	attackid = 0;
; 3083 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T15947[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T15946[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T15946[esp+36]
	push	ecx
	mov	DWORD PTR $T15946[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T15946[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 3084 : 	if (effect)

	test	edi, edi
	je	SHORT $L9524

; 3085 : 	{
; 3086 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 3087 : 		lastframe = false;
; 3088 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9524:
	pop	edi
	pop	esi
	pop	ebp

; 3089 : 	}
; 3090 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 3093 : {

	push	esi

; 3094 : 	int msg;
; 3095 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3096 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9533

; 3097 : 	{
; 3098 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 3099 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L9533:
	pop	esi

; 3100 : 	}
; 3101 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9544 = -40					; size = 4
_pos2$9547 = -36					; size = 12
_pos$9546 = -24						; size = 12
$T15957 = -12						; size = 12
$T15955 = -12						; size = 12
_range$9545 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9543 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3104 : {

	sub	esp, 40					; 00000028H
	push	esi
	push	edi

; 3105 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+44]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 3106 : 	if (o)

	test	eax, eax
	je	SHORT $L9540

; 3107 : 	{
; 3108 : 		seen = o;

	mov	edi, eax
$L9540:

; 3109 : 	}
; 3110 : 	if ((!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset1"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset2"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset3"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset4"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset5"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset6"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset7"))) || (!stricmp(Commands->Get_Preset_Name(seen),Get_Parameter("Preset8"))))

	push	OFFSET FLAT:??_C@_07MLBKNGKL@Preset1?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9542
	push	OFFSET FLAT:??_C@_07OADHIFGI@Preset2?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9542
	push	OFFSET FLAT:??_C@_07PJCMLECJ@Preset3?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9542
	push	OFFSET FLAT:??_C@_07LGGNCCOO@Preset4?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	$L9542
	push	OFFSET FLAT:??_C@_07KPHGBDKP@Preset5?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9542
	push	OFFSET FLAT:??_C@_07IEFLEAGM@Preset6?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [edx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9542
	push	OFFSET FLAT:??_C@_07JNEAHBCN@Preset7?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [eax+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	je	SHORT $L9542
	push	OFFSET FLAT:??_C@_07BKNIGNOC@Preset8?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	edi
	call	DWORD PTR [ecx+116]
	add	esp, 4
	push	eax
	call	_stricmp
	add	esp, 8
	test	eax, eax
	jne	$L9551
$L9542:
	push	ebx

; 3111 : 	{
; 3112 : 		float minrange;
; 3113 : 		float maxrange;
; 3114 : 		float range;
; 3115 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9543[esp+48]

; 3116 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9544[esp+52]

; 3117 : 		Vector3 pos,pos2;
; 3118 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+48]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	edx, DWORD PTR $T15955[esp+52]
	push	ebx
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9546[esp+60], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9546[esp+64], edx
	mov	eax, DWORD PTR [eax+8]

; 3119 : 		pos2 = Commands->Get_Position(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR $T15957[esp+60]
	push	edi
	push	ecx
	mov	DWORD PTR _pos$9546[esp+76], eax
	call	DWORD PTR [edx+64]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9547[esp+68], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9547[esp+72], edx
	mov	eax, DWORD PTR [eax+8]

; 3120 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9547[esp+68]
	push	ecx
	lea	edx, DWORD PTR _pos$9546[esp+72]
	mov	DWORD PTR _pos2$9547[esp+80], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9545[esp+72]

; 3121 : 		pos.Z = 0;
; 3122 : 		pos2.Z = 0;
; 3123 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _pos2$9547[esp+76]
	push	ecx
	lea	edx, DWORD PTR _pos$9546[esp+80]
	push	edx
	mov	DWORD PTR _pos$9546[esp+92], 0
	mov	DWORD PTR _pos2$9547[esp+92], 0
	call	DWORD PTR [eax+256]
	fcomp	DWORD PTR _minrange$9543[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15958
	fld	DWORD PTR _range$9545[esp+48]
	fcomp	DWORD PTR _maxrange$9544[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L15958

; 3124 : 		{
; 3125 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3126 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	ebx
	call	DWORD PTR [ecx+300]

; 3127 : 			attackid = Commands->Get_ID(seen);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	mov	DWORD PTR [esi+36], eax

; 3128 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L15958

; 3129 : 			{
; 3130 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3131 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	mov	eax, DWORD PTR [esi+32]
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]

; 3132 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	ebx
	lea	edx, DWORD PTR _pos2$9547[esp+56]
	push	edx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	edi, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]

; 3133 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	edi, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	ebx
	call	DWORD PTR [edi]
	add	esp, 16					; 00000010H
$L15958:
	pop	ebx
$L9551:
	pop	edi
	pop	esi

; 3134 : 			}
; 3135 : 		}
; 3136 : 	}
; 3137 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9559 = -244					; size = 4
_pos2$9562 = -240					; size = 12
_pos$9561 = -228					; size = 12
_range$9560 = -216					; size = 4
_minrange$9558 = -212					; size = 4
$T15965 = -208						; size = 12
$T15963 = -208						; size = 12
_params$9567 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3141 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9568
	push	ebp
	push	edi

; 3142 : 	{
; 3143 : 		float minrange;
; 3144 : 		float maxrange;
; 3145 : 		float range;
; 3146 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9558[esp+256]

; 3147 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9559[esp+256]

; 3148 : 		Vector3 pos,pos2;
; 3149 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T15963[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9561[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9561[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 3150 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9561[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T15965[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9562[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9562[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 3151 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9562[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9561[esp+280]
	mov	DWORD PTR _pos2$9562[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9560[esp+284]

; 3152 : 		pos.Z = 0;
; 3153 : 		pos2.Z = 0;
; 3154 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9561[esp+264], 0
	mov	DWORD PTR _pos2$9562[esp+264], 0
	je	SHORT $L9565

; 3155 : 		{
; 3156 : 			lastframe = false;
; 3157 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9565:

; 3158 : 		}
; 3159 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9562[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9561[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9558[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L15981
	fld	DWORD PTR _range$9560[esp+256]
	fcomp	DWORD PTR _maxrange$9559[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L15981
	push	ebx

; 3160 : 		{
; 3161 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9567[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 3162 : 			params.Set_Basic(this,100,1,-1);
; 3163 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$9567[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$9567[esp+268], eax
	mov	DWORD PTR _params$9567[esp+432], -1
	call	DWORD PTR [edx+96]

; 3164 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9567[esp+264]
	mov	DWORD PTR _params$9567[esp+352], eax
	mov	eax, DWORD PTR _maxrange$9559[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9567[esp+348], eax
	mov	DWORD PTR _params$9567[esp+352], 0
	mov	BYTE PTR _params$9567[esp+364], bl
	call	DWORD PTR [edx+20]

; 3165 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L15981:
	pop	edi
	pop	ebp
$L9568:
	pop	esi

; 3166 : 			{
; 3167 : 				primary = false;
; 3168 : 			}
; 3169 : 			else
; 3170 : 			{
; 3171 : 				primary = true;
; 3172 : 			}
; 3173 : 		}
; 3174 : 	}
; 3175 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3178 : {

	push	esi
	mov	esi, ecx

; 3179 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3180 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3181 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3182 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3183 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3186 : {

	push	esi
	mov	esi, ecx

; 3187 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3188 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3189 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3190 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3191 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3194 : {

	push	esi
	mov	esi, ecx

; 3195 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3196 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3197 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3198 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3199 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3200 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3203 : {

	push	esi
	mov	esi, ecx

; 3204 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3205 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3206 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3207 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3208 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3209 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Action_Complete, COMDAT
; _this$ = ecx

; 3212 : {

	push	esi

; 3213 : 	enemyseen = true;
; 3214 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 3215 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 3216 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Action_Complete, COMDAT
; _this$ = ecx

; 3219 : {

	push	esi

; 3220 : 	enemyseen = true;
; 3221 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 3222 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 3223 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 3226 : {

	push	esi

; 3227 : 	enemyseen = true;
; 3228 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 3229 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 3230 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 3233 : {

	push	esi

; 3234 : 	enemyseen = true;
; 3235 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 3236 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 3237 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created
PUBLIC	??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_VTOL', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16010 = -1024						; size = 12
$T16011 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created, COMDAT
; _this$ = ecx

; 3240 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3241 : 	Vector3 v,v2;
; 3242 : 	GameObject *object;
; 3243 : 	const char *weapon;
; 3244 : 	char params[1000];
; 3245 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16010[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3246 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16011[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3247 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3248 : 	v.Y += v2.Y;
; 3249 : 	v.Z += v2.Z;
; 3250 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3251 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3252 : 	if (object)

	test	edi, edi
	je	$L9617

; 3253 : 	{
; 3254 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3255 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3256 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3257 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9617:
	pop	edi
	pop	esi
	pop	ebx

; 3258 : 	}
; 3259 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 3262 : {

	push	esi
	mov	esi, ecx

; 3263 : 	GameObject *object;
; 3264 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3265 : 	int x;
; 3266 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3267 : 	if (object)

	test	edi, edi
	je	SHORT $L9626

; 3268 : 	{
; 3269 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9626:
	pop	edi
	pop	esi

; 3270 : 	}
; 3271 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 3274 : {

	push	ebp
	push	edi

; 3275 : 	float health;
; 3276 : 	bool power;
; 3277 : 	GameObject *object;
; 3278 : 	int x;
; 3279 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3280 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9636

; 3281 : 	{
; 3282 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3283 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3284 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3285 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9638

; 3286 : 		{
; 3287 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9639
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9638
$L9639:

; 3288 : 			{
; 3289 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9638:

; 3290 : 			}
; 3291 : 		}
; 3292 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9636:
	pop	edi
	pop	ebp

; 3293 : 	}
; 3294 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3298 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3299 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
$T16024 = -24						; size = 12
$T16025 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Created, COMDAT
; _this$ = ecx

; 3302 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 3303 : 	int visible;
; 3304 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3305 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 3306 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 3307 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 3308 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 3309 : 	attackid = 0;
; 3310 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16025[esp+64]
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16024[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16024[esp+36]
	push	ecx
	mov	DWORD PTR $T16024[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16024[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 3311 : 	if (effect)

	test	edi, edi
	je	SHORT $L9650

; 3312 : 	{
; 3313 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 3314 : 		lastframe = false;
; 3315 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9650:
	pop	edi
	pop	esi
	pop	ebp

; 3316 : 	}
; 3317 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 3320 : {

	push	esi

; 3321 : 	int msg;
; 3322 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3323 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9659

; 3324 : 	{
; 3325 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 3326 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L9659:
	pop	esi

; 3327 : 	}
; 3328 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9669 = -40					; size = 4
_pos2$9672 = -36					; size = 12
_pos$9671 = -24						; size = 12
$T16035 = -12						; size = 12
$T16033 = -12						; size = 12
_range$9670 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9668 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 3331 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 3332 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 3333 : 	if (o)

	test	eax, eax
	je	SHORT $L9666

; 3334 : 	{
; 3335 : 		seen = o;

	mov	ebx, eax
$L9666:

; 3336 : 	}
; 3337 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L9676
	push	edi

; 3338 : 	{
; 3339 : 		float minrange;
; 3340 : 		float maxrange;
; 3341 : 		float range;
; 3342 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9668[esp+48]

; 3343 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9669[esp+52]

; 3344 : 		Vector3 pos,pos2;
; 3345 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16033[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9671[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9671[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 3346 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16035[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$9671[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9672[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9672[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 3347 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$9672[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$9671[esp+72]
	mov	DWORD PTR _pos2$9672[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$9670[esp+72]

; 3348 : 		pos.Z = 0;
; 3349 : 		pos2.Z = 0;
; 3350 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9672[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$9671[esp+80]
	push	ecx
	mov	DWORD PTR _pos$9671[esp+92], 0
	mov	DWORD PTR _pos2$9672[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9668[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16036
	fld	DWORD PTR _range$9670[esp+48]
	fcomp	DWORD PTR _maxrange$9669[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16036

; 3351 : 		{
; 3352 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 3353 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 3354 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 3355 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L16036

; 3356 : 			{
; 3357 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 3358 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 3359 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$9672[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 3360 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16036:
	pop	edi
$L9676:
	pop	esi
	pop	ebx

; 3361 : 			}
; 3362 : 		}
; 3363 : 	}
; 3364 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9684 = -244					; size = 4
_pos2$9687 = -240					; size = 12
_pos$9686 = -228					; size = 12
_range$9685 = -216					; size = 4
_minrange$9683 = -212					; size = 4
$T16043 = -208						; size = 12
$T16041 = -208						; size = 12
_params$9692 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 3368 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9691
	push	ebp
	push	edi

; 3369 : 	{
; 3370 : 		float minrange;
; 3371 : 		float maxrange;
; 3372 : 		float range;
; 3373 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9683[esp+256]

; 3374 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9684[esp+256]

; 3375 : 		Vector3 pos,pos2;
; 3376 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16041[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9686[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9686[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 3377 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9686[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16043[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9687[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9687[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 3378 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9687[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9686[esp+280]
	mov	DWORD PTR _pos2$9687[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9685[esp+284]

; 3379 : 		pos.Z = 0;
; 3380 : 		pos2.Z = 0;
; 3381 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9686[esp+264], 0
	mov	DWORD PTR _pos2$9687[esp+264], 0
	je	SHORT $L9690

; 3382 : 		{
; 3383 : 			lastframe = false;
; 3384 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9690:

; 3385 : 		}
; 3386 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9687[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9686[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9683[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L16058
	fld	DWORD PTR _range$9685[esp+256]
	fcomp	DWORD PTR _maxrange$9684[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16058

; 3387 : 		{
; 3388 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9692[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 3389 : 			params.Set_Basic(this,100,1,-1);
; 3390 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$9692[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$9692[esp+264], eax
	mov	DWORD PTR _params$9692[esp+428], -1
	call	DWORD PTR [edx+96]

; 3391 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9692[esp+260]
	mov	DWORD PTR _params$9692[esp+348], eax
	mov	eax, DWORD PTR _maxrange$9684[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9692[esp+344], eax
	mov	DWORD PTR _params$9692[esp+348], 0
	mov	BYTE PTR _params$9692[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L16058:
	pop	edi
	pop	ebp
$L9691:
	pop	esi

; 3392 : 		}
; 3393 : 	}
; 3394 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created
PUBLIC	??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun_'
	DB	'Animated_Sound_Weapon_VTOL_Only', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16063 = -1024						; size = 12
$T16064 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 3397 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3398 : 	Vector3 v,v2;
; 3399 : 	GameObject *object;
; 3400 : 	const char *weapon;
; 3401 : 	char params[1000];
; 3402 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16063[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3403 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16064[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3404 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3405 : 	v.Y += v2.Y;
; 3406 : 	v.Z += v2.Z;
; 3407 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3408 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3409 : 	if (object)

	test	edi, edi
	je	$L9704

; 3410 : 	{
; 3411 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3412 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3413 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3414 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9704:
	pop	edi
	pop	esi
	pop	ebx

; 3415 : 	}
; 3416 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 3419 : {

	push	esi
	mov	esi, ecx

; 3420 : 	GameObject *object;
; 3421 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3422 : 	int x;
; 3423 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3424 : 	if (object)

	test	edi, edi
	je	SHORT $L9713

; 3425 : 	{
; 3426 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9713:
	pop	edi
	pop	esi

; 3427 : 	}
; 3428 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 3431 : {

	push	ebp
	push	edi

; 3432 : 	float health;
; 3433 : 	bool power;
; 3434 : 	GameObject *object;
; 3435 : 	int x;
; 3436 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3437 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9723

; 3438 : 	{
; 3439 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3440 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3441 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3442 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9725

; 3443 : 		{
; 3444 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9726
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9725
$L9726:

; 3445 : 			{
; 3446 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9725:

; 3447 : 			}
; 3448 : 		}
; 3449 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9723:
	pop	edi
	pop	ebp

; 3450 : 	}
; 3451 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3455 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3456 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
$T16077 = -24						; size = 12
$T16078 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 3459 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 3460 : 	int visible;
; 3461 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3462 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 3463 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 3464 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 3465 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 3466 : 	enemyseen = true;
; 3467 : 	attackid = 0;
; 3468 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16078[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16077[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16077[esp+36]
	push	ecx
	mov	DWORD PTR $T16077[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16077[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 3469 : 	if (effect)

	test	edi, edi
	je	SHORT $L9737

; 3470 : 	{
; 3471 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 3472 : 		lastframe = false;
; 3473 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9737:
	pop	edi
	pop	esi
	pop	ebp

; 3474 : 	}
; 3475 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 3478 : {

	push	esi

; 3479 : 	int msg;
; 3480 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3481 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9746

; 3482 : 	{
; 3483 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 3484 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L9746:
	pop	esi

; 3485 : 	}
; 3486 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9756 = -40					; size = 4
_pos2$9759 = -36					; size = 12
_pos$9758 = -24						; size = 12
$T16088 = -12						; size = 12
$T16086 = -12						; size = 12
_range$9757 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9755 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 3489 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 3490 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 3491 : 	if (o)

	test	eax, eax
	je	SHORT $L9753

; 3492 : 	{
; 3493 : 		seen = o;

	mov	ebx, eax
$L9753:

; 3494 : 	}
; 3495 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$L9763
	push	edi

; 3496 : 	{
; 3497 : 		float minrange;
; 3498 : 		float maxrange;
; 3499 : 		float range;
; 3500 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9755[esp+48]

; 3501 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9756[esp+52]

; 3502 : 		Vector3 pos,pos2;
; 3503 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16086[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9758[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9758[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 3504 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16088[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$9758[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9759[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9759[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 3505 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$9759[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$9758[esp+72]
	mov	DWORD PTR _pos2$9759[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$9757[esp+72]

; 3506 : 		pos.Z = 0;
; 3507 : 		pos2.Z = 0;
; 3508 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9759[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$9758[esp+80]
	push	ecx
	mov	DWORD PTR _pos$9758[esp+92], 0
	mov	DWORD PTR _pos2$9759[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9755[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16089
	fld	DWORD PTR _range$9757[esp+48]
	fcomp	DWORD PTR _maxrange$9756[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16089

; 3509 : 		{
; 3510 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 3511 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 3512 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 3513 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L16089

; 3514 : 			{
; 3515 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 3516 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 3517 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$9759[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 3518 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16089:
	pop	edi
$L9763:
	pop	esi
	pop	ebx

; 3519 : 			}
; 3520 : 		}
; 3521 : 	}
; 3522 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9771 = -244					; size = 4
_pos2$9774 = -240					; size = 12
_pos$9773 = -228					; size = 12
_range$9772 = -216					; size = 4
_minrange$9770 = -212					; size = 4
$T16096 = -208						; size = 12
$T16094 = -208						; size = 12
_params$9779 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 3526 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9778
	push	ebp
	push	edi

; 3527 : 	{
; 3528 : 		float minrange;
; 3529 : 		float maxrange;
; 3530 : 		float range;
; 3531 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9770[esp+256]

; 3532 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9771[esp+256]

; 3533 : 		Vector3 pos,pos2;
; 3534 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16094[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9773[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9773[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 3535 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9773[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16096[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9774[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9774[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 3536 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9774[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9773[esp+280]
	mov	DWORD PTR _pos2$9774[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9772[esp+284]

; 3537 : 		pos.Z = 0;
; 3538 : 		pos2.Z = 0;
; 3539 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9773[esp+264], 0
	mov	DWORD PTR _pos2$9774[esp+264], 0
	je	SHORT $L9777

; 3540 : 		{
; 3541 : 			lastframe = false;
; 3542 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9777:

; 3543 : 		}
; 3544 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9774[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9773[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9770[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L16111
	fld	DWORD PTR _range$9772[esp+256]
	fcomp	DWORD PTR _maxrange$9771[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16111

; 3545 : 		{
; 3546 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9779[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 3547 : 			params.Set_Basic(this,100,1,-1);
; 3548 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$9779[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$9779[esp+264], eax
	mov	DWORD PTR _params$9779[esp+428], -1
	call	DWORD PTR [edx+96]

; 3549 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9779[esp+260]
	mov	DWORD PTR _params$9779[esp+348], eax
	mov	eax, DWORD PTR _maxrange$9771[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9779[esp+344], eax
	mov	DWORD PTR _params$9779[esp+348], 0
	mov	BYTE PTR _params$9779[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L16111:
	pop	edi
	pop	ebp
$L9778:
	pop	esi

; 3550 : 		}
; 3551 : 	}
; 3552 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created
PUBLIC	??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_No_VTOL_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16116 = -1024						; size = 12
$T16117 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3555 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3556 : 	Vector3 v,v2;
; 3557 : 	GameObject *object;
; 3558 : 	const char *weapon;
; 3559 : 	char params[1000];
; 3560 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16116[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3561 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16117[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3562 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3563 : 	v.Y += v2.Y;
; 3564 : 	v.Z += v2.Z;
; 3565 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3566 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3567 : 	if (object)

	test	edi, edi
	je	$L9791

; 3568 : 	{
; 3569 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3570 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3571 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3572 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9791:
	pop	edi
	pop	esi
	pop	ebx

; 3573 : 	}
; 3574 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 3577 : {

	push	esi
	mov	esi, ecx

; 3578 : 	GameObject *object;
; 3579 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3580 : 	int x;
; 3581 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3582 : 	if (object)

	test	edi, edi
	je	SHORT $L9800

; 3583 : 	{
; 3584 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9800:
	pop	edi
	pop	esi

; 3585 : 	}
; 3586 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3589 : {

	push	ebp
	push	edi

; 3590 : 	float health;
; 3591 : 	bool power;
; 3592 : 	GameObject *object;
; 3593 : 	int x;
; 3594 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3595 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9810

; 3596 : 	{
; 3597 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3598 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3599 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3600 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9812

; 3601 : 		{
; 3602 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9813
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9812
$L9813:

; 3603 : 			{
; 3604 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9812:

; 3605 : 			}
; 3606 : 		}
; 3607 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9810:
	pop	edi
	pop	ebp

; 3608 : 	}
; 3609 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3613 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3614 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T16130 = -24						; size = 12
$T16131 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3617 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3618 : 	primary = true;
; 3619 : 	int visible;
; 3620 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3621 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 3622 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 3623 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 3624 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 3625 : 	enemyseen = true;
; 3626 : 	attackid = 0;
; 3627 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16131[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16130[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16130[esp+36]
	push	ecx
	mov	DWORD PTR $T16130[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16130[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 3628 : 	if (effect)

	test	edi, edi
	je	SHORT $L9824

; 3629 : 	{
; 3630 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 3631 : 		lastframe = false;
; 3632 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9824:
	pop	edi
	pop	esi
	pop	ebp

; 3633 : 	}
; 3634 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom, COMDAT
; _this$ = ecx

; 3637 : {

	push	esi

; 3638 : 	int msg;
; 3639 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3640 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9833

; 3641 : 	{
; 3642 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 3643 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L9833:
	pop	esi

; 3644 : 	}
; 3645 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9843 = -40					; size = 4
_pos2$9846 = -36					; size = 12
_pos$9845 = -24						; size = 12
$T16141 = -12						; size = 12
$T16139 = -12						; size = 12
_range$9844 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9842 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3648 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 3649 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 3650 : 	if (o)

	test	eax, eax
	je	SHORT $L9840

; 3651 : 	{
; 3652 : 		seen = o;

	mov	ebx, eax
$L9840:

; 3653 : 	}
; 3654 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L9850
	push	edi

; 3655 : 	{
; 3656 : 		float minrange;
; 3657 : 		float maxrange;
; 3658 : 		float range;
; 3659 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9842[esp+48]

; 3660 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9843[esp+52]

; 3661 : 		Vector3 pos,pos2;
; 3662 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16139[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9845[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9845[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 3663 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16141[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$9845[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9846[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9846[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 3664 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$9846[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$9845[esp+72]
	mov	DWORD PTR _pos2$9846[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$9844[esp+72]

; 3665 : 		pos.Z = 0;
; 3666 : 		pos2.Z = 0;
; 3667 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9846[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$9845[esp+80]
	push	ecx
	mov	DWORD PTR _pos$9845[esp+92], 0
	mov	DWORD PTR _pos2$9846[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9842[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16142
	fld	DWORD PTR _range$9844[esp+48]
	fcomp	DWORD PTR _maxrange$9843[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16142

; 3668 : 		{
; 3669 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3670 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 3671 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 3672 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L16142

; 3673 : 			{
; 3674 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3675 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 3676 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$9846[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 3677 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16142:
	pop	edi
$L9850:
	pop	esi
	pop	ebx

; 3678 : 			}
; 3679 : 		}
; 3680 : 	}
; 3681 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9858 = -244					; size = 4
_pos2$9861 = -240					; size = 12
_pos$9860 = -228					; size = 12
_range$9859 = -216					; size = 4
_minrange$9857 = -212					; size = 4
$T16149 = -208						; size = 12
$T16147 = -208						; size = 12
_params$9866 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3685 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9867
	push	ebp
	push	edi

; 3686 : 	{
; 3687 : 		float minrange;
; 3688 : 		float maxrange;
; 3689 : 		float range;
; 3690 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9857[esp+256]

; 3691 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9858[esp+256]

; 3692 : 		Vector3 pos,pos2;
; 3693 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16147[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9860[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9860[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 3694 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9860[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16149[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9861[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9861[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 3695 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9861[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9860[esp+280]
	mov	DWORD PTR _pos2$9861[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9859[esp+284]

; 3696 : 		pos.Z = 0;
; 3697 : 		pos2.Z = 0;
; 3698 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9860[esp+264], 0
	mov	DWORD PTR _pos2$9861[esp+264], 0
	je	SHORT $L9864

; 3699 : 		{
; 3700 : 			lastframe = false;
; 3701 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9864:

; 3702 : 		}
; 3703 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9861[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9860[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9857[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16165
	fld	DWORD PTR _range$9859[esp+256]
	fcomp	DWORD PTR _maxrange$9858[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16165
	push	ebx

; 3704 : 		{
; 3705 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9866[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 3706 : 			params.Set_Basic(this,100,1,-1);
; 3707 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$9866[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$9866[esp+268], eax
	mov	DWORD PTR _params$9866[esp+432], -1
	call	DWORD PTR [edx+96]

; 3708 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9866[esp+264]
	mov	DWORD PTR _params$9866[esp+352], eax
	mov	eax, DWORD PTR _maxrange$9858[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9866[esp+348], eax
	mov	DWORD PTR _params$9866[esp+352], 0
	mov	BYTE PTR _params$9866[esp+364], bl
	call	DWORD PTR [edx+20]

; 3709 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L16165:
	pop	edi
	pop	ebp
$L9867:
	pop	esi

; 3710 : 			{
; 3711 : 				primary = false;
; 3712 : 			}
; 3713 : 			else
; 3714 : 			{
; 3715 : 				primary = true;
; 3716 : 			}
; 3717 : 		}
; 3718 : 	}
; 3719 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created
PUBLIC	??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@ ; `string'
;	COMDAT ??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Weapon_VTOL_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16170 = -1024						; size = 12
$T16171 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3722 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3723 : 	Vector3 v,v2;
; 3724 : 	GameObject *object;
; 3725 : 	const char *weapon;
; 3726 : 	char params[1000];
; 3727 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16170[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3728 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16171[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3729 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3730 : 	v.Y += v2.Y;
; 3731 : 	v.Z += v2.Z;
; 3732 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3733 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3734 : 	if (object)

	test	edi, edi
	je	$L9880

; 3735 : 	{
; 3736 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3737 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3738 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"),Get_Parameter("Sound"));

	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1084]
	push	OFFSET FLAT:??_C@_0BL@MGDNOOAF@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3739 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1092]
	push	eax
	push	OFFSET FLAT:??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 56					; 00000038H
$L9880:
	pop	edi
	pop	esi
	pop	ebx

; 3740 : 	}
; 3741 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 3744 : {

	push	esi
	mov	esi, ecx

; 3745 : 	GameObject *object;
; 3746 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3747 : 	int x;
; 3748 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3749 : 	if (object)

	test	edi, edi
	je	SHORT $L9889

; 3750 : 	{
; 3751 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9889:
	pop	edi
	pop	esi

; 3752 : 	}
; 3753 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3756 : {

	push	ebp
	push	edi

; 3757 : 	float health;
; 3758 : 	bool power;
; 3759 : 	GameObject *object;
; 3760 : 	int x;
; 3761 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3762 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L9899

; 3763 : 	{
; 3764 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3765 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3766 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3767 : 		if (object)

	test	ecx, ecx
	je	SHORT $L9901

; 3768 : 		{
; 3769 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L9902
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L9901
$L9902:

; 3770 : 			{
; 3771 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L9901:

; 3772 : 			}
; 3773 : 		}
; 3774 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L9899:
	pop	edi
	pop	ebp

; 3775 : 	}
; 3776 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3780 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3781 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T16184 = -24						; size = 12
$T16185 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 3784 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 3785 : 	primary = true;
; 3786 : 	int visible;
; 3787 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3788 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 3789 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 3790 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 3791 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 3792 : 	enemyseen = true;
; 3793 : 	attackid = 0;
; 3794 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16185[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16184[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16184[esp+36]
	push	ecx
	mov	DWORD PTR $T16184[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16184[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 3795 : 	if (effect)

	test	edi, edi
	je	SHORT $L9913

; 3796 : 	{
; 3797 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 3798 : 		lastframe = false;
; 3799 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L9913:
	pop	edi
	pop	esi
	pop	ebp

; 3800 : 	}
; 3801 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 3804 : {

	push	esi

; 3805 : 	int msg;
; 3806 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3807 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L9922

; 3808 : 	{
; 3809 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 3810 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L9922:
	pop	esi

; 3811 : 	}
; 3812 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$9932 = -40					; size = 4
_pos2$9935 = -36					; size = 12
_pos$9934 = -24						; size = 12
$T16195 = -12						; size = 12
$T16193 = -12						; size = 12
_range$9933 = 8						; size = 4
_obj$ = 8						; size = 4
_minrange$9931 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 3815 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 3816 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 3817 : 	if (o)

	test	eax, eax
	je	SHORT $L9929

; 3818 : 	{
; 3819 : 		seen = o;

	mov	ebx, eax
$L9929:

; 3820 : 	}
; 3821 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L9939
	push	edi

; 3822 : 	{
; 3823 : 		float minrange;
; 3824 : 		float maxrange;
; 3825 : 		float range;
; 3826 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9931[esp+48]

; 3827 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9932[esp+52]

; 3828 : 		Vector3 pos,pos2;
; 3829 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16193[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9934[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9934[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 3830 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16195[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$9934[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9935[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9935[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 3831 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$9935[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$9934[esp+72]
	mov	DWORD PTR _pos2$9935[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$9933[esp+72]

; 3832 : 		pos.Z = 0;
; 3833 : 		pos2.Z = 0;
; 3834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9935[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$9934[esp+80]
	push	ecx
	mov	DWORD PTR _pos$9934[esp+92], 0
	mov	DWORD PTR _pos2$9935[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9931[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16196
	fld	DWORD PTR _range$9933[esp+48]
	fcomp	DWORD PTR _maxrange$9932[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16196

; 3835 : 		{
; 3836 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 3837 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 3838 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 3839 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	$L16196

; 3840 : 			{
; 3841 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 3842 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 3843 : 				Commands->Create_Sound(Get_Parameter("Sound"),pos2,obj);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	edi
	lea	ecx, DWORD PTR _pos2$9935[esp+56]
	push	ecx
	push	OFFSET FLAT:??_C@_05MAHMNMLO@Sound?$AA@
	mov	ecx, esi
	add	ebx, 172				; 000000acH
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [ebx]

; 3844 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 12					; 0000000cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16196:
	pop	edi
$L9939:
	pop	esi
	pop	ebx

; 3845 : 			}
; 3846 : 		}
; 3847 : 	}
; 3848 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$9947 = -244					; size = 4
_pos2$9950 = -240					; size = 12
_pos$9949 = -228					; size = 12
_range$9948 = -216					; size = 4
_minrange$9946 = -212					; size = 4
$T16203 = -208						; size = 12
$T16201 = -208						; size = 12
_params$9955 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3852 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L9956
	push	ebp
	push	edi

; 3853 : 	{
; 3854 : 		float minrange;
; 3855 : 		float maxrange;
; 3856 : 		float range;
; 3857 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$9946[esp+256]

; 3858 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$9947[esp+256]

; 3859 : 		Vector3 pos,pos2;
; 3860 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16201[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$9949[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$9949[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 3861 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$9949[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16203[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$9950[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$9950[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 3862 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$9950[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$9949[esp+280]
	mov	DWORD PTR _pos2$9950[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$9948[esp+284]

; 3863 : 		pos.Z = 0;
; 3864 : 		pos2.Z = 0;
; 3865 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$9949[esp+264], 0
	mov	DWORD PTR _pos2$9950[esp+264], 0
	je	SHORT $L9953

; 3866 : 		{
; 3867 : 			lastframe = false;
; 3868 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L9953:

; 3869 : 		}
; 3870 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$9950[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$9949[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$9946[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16219
	fld	DWORD PTR _range$9948[esp+256]
	fcomp	DWORD PTR _maxrange$9947[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16219
	push	ebx

; 3871 : 		{
; 3872 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$9955[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 3873 : 			params.Set_Basic(this,100,1,-1);
; 3874 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$9955[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$9955[esp+268], eax
	mov	DWORD PTR _params$9955[esp+432], -1
	call	DWORD PTR [edx+96]

; 3875 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$9955[esp+264]
	mov	DWORD PTR _params$9955[esp+352], eax
	mov	eax, DWORD PTR _maxrange$9947[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$9955[esp+348], eax
	mov	DWORD PTR _params$9955[esp+352], 0
	mov	BYTE PTR _params$9955[esp+364], bl
	call	DWORD PTR [edx+20]

; 3876 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L16219:
	pop	edi
	pop	ebp
$L9956:
	pop	esi

; 3877 : 			{
; 3878 : 				primary = false;
; 3879 : 			}
; 3880 : 			else
; 3881 : 			{
; 3882 : 				primary = true;
; 3883 : 			}
; 3884 : 		}
; 3885 : 	}
; 3886 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3889 : {

	push	esi
	mov	esi, ecx

; 3890 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3891 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3892 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3893 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3894 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3897 : {

	push	esi
	mov	esi, ecx

; 3898 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3899 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3900 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3901 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3902 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3905 : {

	push	esi
	mov	esi, ecx

; 3906 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3907 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3908 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3909 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3910 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3911 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3914 : {

	push	esi
	mov	esi, ecx

; 3915 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3916 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3917 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3918 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3919 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 3920 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_No_VTOL_Secondary::Created
PUBLIC	??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@ ; `string'
;	COMDAT ??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
CONST	SEGMENT
??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@ DB 'JFW_Building_Gun'
	DB	'_Weapon_No_VTOL_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16236 = -1024						; size = 12
$T16237 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3923 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 3924 : 	Vector3 v,v2;
; 3925 : 	GameObject *object;
; 3926 : 	const char *weapon;
; 3927 : 	char params[1000];
; 3928 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16236[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 3929 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16237[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 3930 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 3931 : 	v.Y += v2.Y;
; 3932 : 	v.Z += v2.Z;
; 3933 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 3934 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 3935 : 	if (object)

	test	edi, edi
	je	SHORT $L9981

; 3936 : 	{
; 3937 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 3938 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 3939 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 3940 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L9981:
	pop	edi
	pop	esi
	pop	ebx

; 3941 : 	}
; 3942 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_No_VTOL_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 3945 : {

	push	esi
	mov	esi, ecx

; 3946 : 	GameObject *object;
; 3947 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 3948 : 	int x;
; 3949 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3950 : 	if (object)

	test	edi, edi
	je	SHORT $L9990

; 3951 : 	{
; 3952 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L9990:
	pop	edi
	pop	esi

; 3953 : 	}
; 3954 : }

	ret	8
?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 3957 : {

	push	ebp
	push	edi

; 3958 : 	float health;
; 3959 : 	bool power;
; 3960 : 	GameObject *object;
; 3961 : 	int x;
; 3962 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 3963 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10000

; 3964 : 	{
; 3965 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 3966 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 3967 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 3968 : 		if (object)

	test	ecx, ecx
	je	SHORT $L16244

; 3969 : 		{
; 3970 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10003
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L10003

; 3973 : 			}
; 3974 : 			else
; 3975 : 			{
; 3976 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L16245
$L10003:

; 3971 : 			{
; 3972 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L16245:
	add	esp, 20					; 00000014H
$L16244:

; 3977 : 			}
; 3978 : 		}
; 3979 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10000:
	pop	edi
	pop	ebp

; 3980 : 	}
; 3981 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 3985 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 3986 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 3989 : {

	push	esi
	push	edi

; 3990 : 	int visible;
; 3991 : 	primary = true;
; 3992 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 3993 : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 3994 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 3995 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 3996 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 3997 : }

	ret	4
?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Custom, COMDAT
; _this$ = ecx

; 4001 : 	int msg;
; 4002 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4003 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L10023

; 4004 : 	{
; 4005 : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L10022

; 4006 : 		{
; 4007 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 4008 : 		}
; 4009 : 		else
; 4010 : 		{
; 4011 : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 4012 : 		}
; 4013 : 	}
; 4014 : }

	ret	16					; 00000010H
$L10022:

; 4008 : 		}
; 4009 : 		else
; 4010 : 		{
; 4011 : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L10023:

; 4012 : 		}
; 4013 : 	}
; 4014 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$10036 = -240					; size = 12
_pos$10035 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T16262 = -208						; size = 12
$T16260 = -208						; size = 12
_params$10040 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4017 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 4018 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4019 : 	if (o)

	test	eax, eax
	je	SHORT $L10030

; 4020 : 	{
; 4021 : 		seen = o;

	mov	edi, eax
$L10030:

; 4022 : 	}
; 4023 : 	float minrange;
; 4024 : 	float maxrange;
; 4025 : 	float range;
; 4026 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L10041
	push	ebx

; 4027 : 	{
; 4028 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 4029 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 4030 : 		Vector3 pos,pos2;
; 4031 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16260[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10035[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10035[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4032 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16262[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$10035[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10036[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10036[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 4033 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10036[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$10035[esp+276]
	mov	DWORD PTR _pos2$10036[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 4034 : 		pos.Z = 0;
; 4035 : 		pos2.Z = 0;
; 4036 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10036[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$10035[esp+284]
	push	ecx
	mov	DWORD PTR _pos$10035[esp+296], 0
	mov	DWORD PTR _pos2$10036[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16277
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16277

; 4037 : 		{
; 4038 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10040[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4039 : 			params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 4040 : 			params.Set_Attack(seen,maxrange,0,primary);

	mov	ecx, DWORD PTR _maxrange$[esp+256]
	mov	dl, BYTE PTR [esi+28]
	mov	DWORD PTR _params$10040[esp+260], eax

; 4041 : 			Commands->Action_Attack(obj,params);

	lea	eax, DWORD PTR _params$10040[esp+256]
	push	eax
	mov	DWORD PTR _params$10040[esp+336], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$10040[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$10040[esp+432], -1
	mov	DWORD PTR _params$10040[esp+352], edi
	mov	DWORD PTR _params$10040[esp+344], 0
	mov	BYTE PTR _params$10040[esp+356], dl
	call	DWORD PTR [ecx+20]

; 4042 : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [edx+128]

; 4043 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 24					; 00000018H
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
$L16277:
	pop	ebx
$L10041:
	pop	edi
	pop	esi

; 4044 : 			{
; 4045 : 				primary = false;
; 4046 : 			}
; 4047 : 			else
; 4048 : 			{
; 4049 : 				primary = true;
; 4050 : 			}
; 4051 : 		}
; 4052 : 	}
; 4053 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4057 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L10048

; 4058 : 	{
; 4059 : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L10048:

; 4060 : 	}
; 4061 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Created
PUBLIC	??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@ ; `string'
;	COMDAT ??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
CONST	SEGMENT
??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@ DB 'JFW_Building_Gun'
	DB	'_Weapon_VTOL_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16285 = -1024						; size = 12
$T16286 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4064 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 4065 : 	Vector3 v,v2;
; 4066 : 	GameObject *object;
; 4067 : 	const char *weapon;
; 4068 : 	char params[1000];
; 4069 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16285[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 4070 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16286[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4071 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 4072 : 	v.Y += v2.Y;
; 4073 : 	v.Z += v2.Z;
; 4074 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4075 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 4076 : 	if (object)

	test	edi, edi
	je	SHORT $L10060

; 4077 : 	{
; 4078 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 4079 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 4080 : 		sprintf(params,"%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"));

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1064]
	push	OFFSET FLAT:??_C@_0M@ONNOPAIB@?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4081 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1072]
	push	eax
	push	OFFSET FLAT:??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 36					; 00000024H
$L10060:
	pop	edi
	pop	esi
	pop	ebx

; 4082 : 	}
; 4083 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 4086 : {

	push	esi
	mov	esi, ecx

; 4087 : 	GameObject *object;
; 4088 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 4089 : 	int x;
; 4090 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4091 : 	if (object)

	test	edi, edi
	je	SHORT $L10069

; 4092 : 	{
; 4093 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L10069:
	pop	edi
	pop	esi

; 4094 : 	}
; 4095 : }

	ret	8
?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4098 : {

	push	ebp
	push	edi

; 4099 : 	float health;
; 4100 : 	bool power;
; 4101 : 	GameObject *object;
; 4102 : 	int x;
; 4103 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 4104 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10079

; 4105 : 	{
; 4106 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 4107 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 4108 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4109 : 		if (object)

	test	ecx, ecx
	je	SHORT $L16293

; 4110 : 		{
; 4111 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10082
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L10082

; 4114 : 			}
; 4115 : 			else
; 4116 : 			{
; 4117 : 				Commands->Send_Custom_Event(obj,object,x,1,0);

	push	0
	push	1
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	jmp	SHORT $L16294
$L10082:

; 4112 : 			{
; 4113 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	0
	push	ebp
	push	ecx
	push	esi
	call	DWORD PTR [edx+140]
$L16294:
	add	esp, 20					; 00000014H
$L16293:

; 4118 : 			}
; 4119 : 		}
; 4120 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [eax+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10079:
	pop	edi
	pop	ebp

; 4121 : 	}
; 4122 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4126 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4127 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4130 : {

	push	esi
	push	edi

; 4131 : 	int visible;
; 4132 : 	primary = true;
; 4133 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [ecx+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4134 : 	Commands->Enable_Hibernation(obj,false);

	mov	esi, DWORD PTR _obj$[esp+4]
	mov	edi, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	esi
	call	DWORD PTR [eax+568]

; 4135 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+440]

; 4136 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [edx+300]

; 4137 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	edi, edi
	setne	al
	push	eax
	push	esi
	call	DWORD PTR [ecx+628]
	add	esp, 28					; 0000001cH
	pop	edi
	pop	esi

; 4138 : }

	ret	4
?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 4142 : 	int msg;
; 4143 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4144 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp-4], eax
	jne	SHORT $L10102

; 4145 : 	{
; 4146 : 		if (!param)

	mov	eax, DWORD PTR _param$[esp-4]
	test	eax, eax
	jne	SHORT $L10101

; 4147 : 		{
; 4148 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]

; 4149 : 		}
; 4150 : 		else
; 4151 : 		{
; 4152 : 			Commands->Enable_Enemy_Seen(obj,true);

	add	esp, 8

; 4153 : 		}
; 4154 : 	}
; 4155 : }

	ret	16					; 00000010H
$L10101:

; 4149 : 		}
; 4150 : 		else
; 4151 : 		{
; 4152 : 			Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR _obj$[esp-4]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edx
	call	DWORD PTR [eax+300]
	add	esp, 8
$L10102:

; 4153 : 		}
; 4154 : 	}
; 4155 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$ = -244					; size = 4
_pos2$10115 = -240					; size = 12
_pos$10114 = -228					; size = 12
_range$ = -216						; size = 4
_minrange$ = -212					; size = 4
$T16311 = -208						; size = 12
$T16309 = -208						; size = 12
_params$10119 = -196					; size = 196
_obj$ = 8						; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4158 : {

	sub	esp, 244				; 000000f4H
	push	esi
	push	edi

; 4159 : 	GameObject *o = Get_Vehicle(seen);

	mov	edi, DWORD PTR _seen$[esp+248]
	push	edi
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4160 : 	if (o)

	test	eax, eax
	je	SHORT $L10109

; 4161 : 	{
; 4162 : 		seen = o;

	mov	edi, eax
$L10109:

; 4163 : 	}
; 4164 : 	float minrange;
; 4165 : 	float maxrange;
; 4166 : 	float range;
; 4167 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	edi
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$L10120
	push	ebx

; 4168 : 	{
; 4169 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$[esp+256]

; 4170 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$[esp+256]

; 4171 : 		Vector3 pos,pos2;
; 4172 : 		pos = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16309[esp+256]
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10114[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10114[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4173 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16311[esp+264]
	push	edi
	push	eax
	mov	DWORD PTR _pos$10114[esp+280], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10115[esp+272], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10115[esp+276], ecx
	mov	edx, DWORD PTR [eax+8]

; 4174 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10115[esp+272]
	push	eax
	lea	ecx, DWORD PTR _pos$10114[esp+276]
	mov	DWORD PTR _pos2$10115[esp+284], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$[esp+280]

; 4175 : 		pos.Z = 0;
; 4176 : 		pos2.Z = 0;
; 4177 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange))

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10115[esp+280]
	push	eax
	lea	ecx, DWORD PTR _pos$10114[esp+284]
	push	ecx
	mov	DWORD PTR _pos$10114[esp+296], 0
	mov	DWORD PTR _pos2$10115[esp+296], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$[esp+288]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16326
	fld	DWORD PTR _range$[esp+256]
	fcomp	DWORD PTR _maxrange$[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16326

; 4178 : 		{
; 4179 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10119[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4180 : 			params.Set_Basic(this,100,1,-1);

	mov	eax, DWORD PTR [esi+4]

; 4181 : 			params.Set_Attack(seen,maxrange,0,primary);

	mov	ecx, DWORD PTR _maxrange$[esp+256]
	mov	dl, BYTE PTR [esi+28]
	mov	DWORD PTR _params$10119[esp+260], eax

; 4182 : 			Commands->Action_Attack(obj,params);

	lea	eax, DWORD PTR _params$10119[esp+256]
	push	eax
	mov	DWORD PTR _params$10119[esp+336], ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	mov	DWORD PTR _params$10119[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$10119[esp+432], -1
	mov	DWORD PTR _params$10119[esp+352], edi
	mov	DWORD PTR _params$10119[esp+344], 0
	mov	BYTE PTR _params$10119[esp+356], dl
	call	DWORD PTR [ecx+20]

; 4183 : 			Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [edx+128]

; 4184 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 24					; 00000018H
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
$L16326:
	pop	ebx
$L10120:
	pop	edi
	pop	esi

; 4185 : 			{
; 4186 : 				primary = false;
; 4187 : 			}
; 4188 : 			else
; 4189 : 			{
; 4190 : 				primary = true;
; 4191 : 			}
; 4192 : 		}
; 4193 : 	}
; 4194 : }

	add	esp, 244				; 000000f4H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4198 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp-4], 1
	jne	SHORT $L10127

; 4199 : 	{
; 4200 : 		Commands->Action_Reset(obj,100);

	mov	eax, DWORD PTR _obj$[esp-4]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	eax
	call	DWORD PTR [ecx+12]
	add	esp, 8
$L10127:

; 4201 : 	}
; 4202 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4206 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4207 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4211 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4212 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Action_Complete, COMDAT
; _this$ = ecx

; 4215 : {

	push	esi

; 4216 : 	enemyseen = true;
; 4217 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 4218 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 4219 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Action_Complete, COMDAT
; _this$ = ecx

; 4222 : {

	push	esi

; 4223 : 	enemyseen = true;
; 4224 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+36], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 4225 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 4226 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 4229 : {

	push	esi

; 4230 : 	enemyseen = true;
; 4231 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 4232 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 4233 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Action_Complete
; Function compile flags: /Ogty
;	COMDAT ?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_action$ = 12						; size = 4
_reason$ = 16						; size = 4
?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Action_Complete, COMDAT
; _this$ = ecx

; 4236 : {

	push	esi

; 4237 : 	enemyseen = true;
; 4238 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	esi, DWORD PTR _obj$[esp]
	mov	BYTE PTR [ecx+40], 1
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	esi
	call	DWORD PTR [eax+300]

; 4239 : 	Commands->Action_Reset(obj,100);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1120403456				; 42c80000H
	push	esi
	call	DWORD PTR [ecx+12]
	add	esp, 16					; 00000010H
	pop	esi

; 4240 : }

	ret	12					; 0000000cH
?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Action_Complete
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_VTOL::Created
PUBLIC	??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@ ; `string'
;	COMDAT ??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_VTOL', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16352 = -1024						; size = 12
$T16353 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL::Created, COMDAT
; _this$ = ecx

; 4243 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 4244 : 	Vector3 v,v2;
; 4245 : 	GameObject *object;
; 4246 : 	const char *weapon;
; 4247 : 	char params[1000];
; 4248 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16352[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 4249 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16353[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4250 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 4251 : 	v.Y += v2.Y;
; 4252 : 	v.Z += v2.Z;
; 4253 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4254 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 4255 : 	if (object)

	test	edi, edi
	je	$L10169

; 4256 : 	{
; 4257 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 4258 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 4259 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4260 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_VTOL",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L10169:
	pop	edi
	pop	esi
	pop	ebx

; 4261 : 	}
; 4262 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_VTOL::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL::Killed, COMDAT
; _this$ = ecx

; 4265 : {

	push	esi
	mov	esi, ecx

; 4266 : 	GameObject *object;
; 4267 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 4268 : 	int x;
; 4269 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4270 : 	if (object)

	test	edi, edi
	je	SHORT $L10178

; 4271 : 	{
; 4272 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L10178:
	pop	edi
	pop	esi

; 4273 : 	}
; 4274 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 4277 : {

	push	ebp
	push	edi

; 4278 : 	float health;
; 4279 : 	bool power;
; 4280 : 	GameObject *object;
; 4281 : 	int x;
; 4282 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 4283 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10188

; 4284 : 	{
; 4285 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 4286 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 4287 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4288 : 		if (object)

	test	ecx, ecx
	je	SHORT $L10190

; 4289 : 		{
; 4290 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10191
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L10190
$L10191:

; 4291 : 			{
; 4292 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L10190:

; 4293 : 			}
; 4294 : 		}
; 4295 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10188:
	pop	edi
	pop	ebp

; 4296 : 	}
; 4297 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ ; JFW_Building_Gun_Animated_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4301 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4302 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z
_TEXT	SEGMENT
$T16366 = -24						; size = 12
$T16367 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Created, COMDAT
; _this$ = ecx

; 4305 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 4306 : 	int visible;
; 4307 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4308 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 4309 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 4310 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 4311 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 4312 : 	attackid = 0;
; 4313 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16367[esp+64]
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16366[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16366[esp+36]
	push	ecx
	mov	DWORD PTR $T16366[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16366[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 4314 : 	if (effect)

	test	edi, edi
	je	SHORT $L10202

; 4315 : 	{
; 4316 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 4317 : 		lastframe = false;
; 4318 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L10202:
	pop	edi
	pop	esi
	pop	ebp

; 4319 : 	}
; 4320 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom, COMDAT
; _this$ = ecx

; 4323 : {

	push	esi

; 4324 : 	int msg;
; 4325 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4326 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L10211

; 4327 : 	{
; 4328 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 4329 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L10211:
	pop	esi

; 4330 : 	}
; 4331 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$10221 = -40					; size = 4
_pos2$10224 = -36					; size = 12
_pos$10223 = -24					; size = 12
$T16377 = -12						; size = 12
$T16375 = -12						; size = 12
_range$10222 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$10220 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen, COMDAT
; _this$ = ecx

; 4334 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 4335 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4336 : 	if (o)

	test	eax, eax
	je	SHORT $L10218

; 4337 : 	{
; 4338 : 		seen = o;

	mov	ebx, eax
$L10218:

; 4339 : 	}
; 4340 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L10228
	push	edi

; 4341 : 	{
; 4342 : 		float minrange;
; 4343 : 		float maxrange;
; 4344 : 		float range;
; 4345 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10220[esp+48]

; 4346 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10221[esp+52]

; 4347 : 		Vector3 pos,pos2;
; 4348 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16375[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10223[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10223[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 4349 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16377[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$10223[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10224[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10224[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 4350 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10224[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$10223[esp+72]
	mov	DWORD PTR _pos2$10224[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$10222[esp+72]

; 4351 : 		pos.Z = 0;
; 4352 : 		pos2.Z = 0;
; 4353 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10224[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$10223[esp+80]
	push	ecx
	mov	DWORD PTR _pos$10223[esp+92], 0
	mov	DWORD PTR _pos2$10224[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10220[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16378
	fld	DWORD PTR _range$10222[esp+48]
	fcomp	DWORD PTR _maxrange$10221[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16378

; 4354 : 		{
; 4355 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 4356 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 4357 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 4358 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L16378

; 4359 : 			{
; 4360 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 4361 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 4362 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16378:
	pop	edi
$L10228:
	pop	esi
	pop	ebx

; 4363 : 			}
; 4364 : 		}
; 4365 : 	}
; 4366 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$10236 = -244					; size = 4
_pos2$10239 = -240					; size = 12
_pos$10238 = -228					; size = 12
_range$10237 = -216					; size = 4
_minrange$10235 = -212					; size = 4
$T16385 = -208						; size = 12
$T16383 = -208						; size = 12
_params$10244 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired, COMDAT
; _this$ = ecx

; 4370 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L10243
	push	ebp
	push	edi

; 4371 : 	{
; 4372 : 		float minrange;
; 4373 : 		float maxrange;
; 4374 : 		float range;
; 4375 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10235[esp+256]

; 4376 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10236[esp+256]

; 4377 : 		Vector3 pos,pos2;
; 4378 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16383[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10238[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10238[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4379 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$10238[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16385[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10239[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10239[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 4380 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$10239[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$10238[esp+280]
	mov	DWORD PTR _pos2$10239[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$10237[esp+284]

; 4381 : 		pos.Z = 0;
; 4382 : 		pos2.Z = 0;
; 4383 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$10238[esp+264], 0
	mov	DWORD PTR _pos2$10239[esp+264], 0
	je	SHORT $L10242

; 4384 : 		{
; 4385 : 			lastframe = false;
; 4386 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L10242:

; 4387 : 		}
; 4388 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10239[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$10238[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10235[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L16400
	fld	DWORD PTR _range$10237[esp+256]
	fcomp	DWORD PTR _maxrange$10236[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16400

; 4389 : 		{
; 4390 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10244[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4391 : 			params.Set_Basic(this,100,1,-1);
; 4392 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$10244[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$10244[esp+264], eax
	mov	DWORD PTR _params$10244[esp+428], -1
	call	DWORD PTR [edx+96]

; 4393 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$10244[esp+260]
	mov	DWORD PTR _params$10244[esp+348], eax
	mov	eax, DWORD PTR _maxrange$10236[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$10244[esp+344], eax
	mov	DWORD PTR _params$10244[esp+348], 0
	mov	BYTE PTR _params$10244[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L16400:
	pop	edi
	pop	ebp
$L10243:
	pop	esi

; 4394 : 		}
; 4395 : 	}
; 4396 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_VTOL_Only::Created
;	COMDAT ??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun_'
	DB	'Animated_Weapon_VTOL_Only', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16405 = -1024						; size = 12
$T16406 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 4399 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 4400 : 	Vector3 v,v2;
; 4401 : 	GameObject *object;
; 4402 : 	const char *weapon;
; 4403 : 	char params[1000];
; 4404 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16405[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 4405 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16406[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4406 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 4407 : 	v.Y += v2.Y;
; 4408 : 	v.Z += v2.Z;
; 4409 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4410 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 4411 : 	if (object)

	test	edi, edi
	je	$L10256

; 4412 : 	{
; 4413 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 4414 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 4415 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4416 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_VTOL_Only",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L10256:
	pop	edi
	pop	esi
	pop	ebx

; 4417 : 	}
; 4418 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_VTOL_Only::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::Killed, COMDAT
; _this$ = ecx

; 4421 : {

	push	esi
	mov	esi, ecx

; 4422 : 	GameObject *object;
; 4423 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 4424 : 	int x;
; 4425 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4426 : 	if (object)

	test	edi, edi
	je	SHORT $L10265

; 4427 : 	{
; 4428 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L10265:
	pop	edi
	pop	esi

; 4429 : 	}
; 4430 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 4433 : {

	push	ebp
	push	edi

; 4434 : 	float health;
; 4435 : 	bool power;
; 4436 : 	GameObject *object;
; 4437 : 	int x;
; 4438 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 4439 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10275

; 4440 : 	{
; 4441 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 4442 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 4443 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4444 : 		if (object)

	test	ecx, ecx
	je	SHORT $L10277

; 4445 : 		{
; 4446 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10278
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L10277
$L10278:

; 4447 : 			{
; 4448 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L10277:

; 4449 : 			}
; 4450 : 		}
; 4451 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10275:
	pop	edi
	pop	ebp

; 4452 : 	}
; 4453 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4457 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4458 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z
_TEXT	SEGMENT
$T16419 = -24						; size = 12
$T16420 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Created, COMDAT
; _this$ = ecx

; 4461 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi

; 4462 : 	int visible;
; 4463 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4464 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 4465 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 4466 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 4467 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 4468 : 	enemyseen = true;
; 4469 : 	attackid = 0;
; 4470 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16420[esp+64]
	mov	BYTE PTR [esi+36], 1
	mov	DWORD PTR [esi+32], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16419[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16419[esp+36]
	push	ecx
	mov	DWORD PTR $T16419[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16419[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 4471 : 	if (effect)

	test	edi, edi
	je	SHORT $L10289

; 4472 : 	{
; 4473 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 4474 : 		lastframe = false;
; 4475 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+28], eax
	mov	BYTE PTR [esi+37], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L10289:
	pop	edi
	pop	esi
	pop	ebp

; 4476 : 	}
; 4477 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom, COMDAT
; _this$ = ecx

; 4480 : {

	push	esi

; 4481 : 	int msg;
; 4482 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4483 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L10298

; 4484 : 	{
; 4485 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 4486 : 		enemyseen = false;

	mov	BYTE PTR [esi+36], 0
$L10298:
	pop	esi

; 4487 : 	}
; 4488 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$10308 = -40					; size = 4
_pos2$10311 = -36					; size = 12
_pos$10310 = -24					; size = 12
$T16430 = -12						; size = 12
$T16428 = -12						; size = 12
_range$10309 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$10307 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen, COMDAT
; _this$ = ecx

; 4491 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 4492 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4493 : 	if (o)

	test	eax, eax
	je	SHORT $L10305

; 4494 : 	{
; 4495 : 		seen = o;

	mov	ebx, eax
$L10305:

; 4496 : 	}
; 4497 : 	if (Get_Vehicle_Mode(seen) == FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	jne	$L10315
	push	edi

; 4498 : 	{
; 4499 : 		float minrange;
; 4500 : 		float maxrange;
; 4501 : 		float range;
; 4502 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10307[esp+48]

; 4503 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10308[esp+52]

; 4504 : 		Vector3 pos,pos2;
; 4505 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16428[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10310[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10310[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 4506 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16430[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$10310[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10311[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10311[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 4507 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10311[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$10310[esp+72]
	mov	DWORD PTR _pos2$10311[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$10309[esp+72]

; 4508 : 		pos.Z = 0;
; 4509 : 		pos2.Z = 0;
; 4510 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10311[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$10310[esp+80]
	push	ecx
	mov	DWORD PTR _pos$10310[esp+92], 0
	mov	DWORD PTR _pos2$10311[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10307[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16431
	fld	DWORD PTR _range$10309[esp+48]
	fcomp	DWORD PTR _maxrange$10308[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16431

; 4511 : 		{
; 4512 : 			enemyseen = false;

	mov	BYTE PTR [esi+36], 0

; 4513 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 4514 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+32], eax

; 4515 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L16431

; 4516 : 			{
; 4517 : 				lastframe = true;

	mov	BYTE PTR [esi+37], 1

; 4518 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+28]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 4519 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16431:
	pop	edi
$L10315:
	pop	esi
	pop	ebx

; 4520 : 			}
; 4521 : 		}
; 4522 : 	}
; 4523 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$10323 = -244					; size = 4
_pos2$10326 = -240					; size = 12
_pos$10325 = -228					; size = 12
_range$10324 = -216					; size = 4
_minrange$10322 = -212					; size = 4
$T16438 = -208						; size = 12
$T16436 = -208						; size = 12
_params$10331 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired, COMDAT
; _this$ = ecx

; 4527 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L10330
	push	ebp
	push	edi

; 4528 : 	{
; 4529 : 		float minrange;
; 4530 : 		float maxrange;
; 4531 : 		float range;
; 4532 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10322[esp+256]

; 4533 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10323[esp+256]

; 4534 : 		Vector3 pos,pos2;
; 4535 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16436[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10325[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10325[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4536 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$10325[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16438[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10326[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10326[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 4537 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$10326[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$10325[esp+280]
	mov	DWORD PTR _pos2$10326[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$10324[esp+284]

; 4538 : 		pos.Z = 0;
; 4539 : 		pos2.Z = 0;
; 4540 : 		if (lastframe)

	mov	al, BYTE PTR [esi+37]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$10325[esp+264], 0
	mov	DWORD PTR _pos2$10326[esp+264], 0
	je	SHORT $L10329

; 4541 : 		{
; 4542 : 			lastframe = false;
; 4543 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+37], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+28]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L10329:

; 4544 : 		}
; 4545 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10326[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$10325[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10322[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	SHORT $L16453
	fld	DWORD PTR _range$10324[esp+256]
	fcomp	DWORD PTR _maxrange$10323[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16453

; 4546 : 		{
; 4547 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10331[esp+256]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4548 : 			params.Set_Basic(this,100,1,-1);
; 4549 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,true);

	mov	ecx, DWORD PTR [esi+32]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _params$10331[esp+260], 100	; 00000064H
	mov	DWORD PTR _params$10331[esp+264], eax
	mov	DWORD PTR _params$10331[esp+428], -1
	call	DWORD PTR [edx+96]

; 4550 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$10331[esp+260]
	mov	DWORD PTR _params$10331[esp+348], eax
	mov	eax, DWORD PTR _maxrange$10323[esp+260]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$10331[esp+344], eax
	mov	DWORD PTR _params$10331[esp+348], 0
	mov	BYTE PTR _params$10331[esp+360], 1
	call	DWORD PTR [edx+20]
	add	esp, 12					; 0000000cH
$L16453:
	pop	edi
	pop	ebp
$L10330:
	pop	esi

; 4551 : 		}
; 4552 : 	}
; 4553 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created
;	COMDAT ??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_No_VTOL_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16458 = -1024						; size = 12
$T16459 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 4556 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 4557 : 	Vector3 v,v2;
; 4558 : 	GameObject *object;
; 4559 : 	const char *weapon;
; 4560 : 	char params[1000];
; 4561 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16458[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 4562 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16459[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4563 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 4564 : 	v.Y += v2.Y;
; 4565 : 	v.Z += v2.Z;
; 4566 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4567 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 4568 : 	if (object)

	test	edi, edi
	je	$L10343

; 4569 : 	{
; 4570 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 4571 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 4572 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4573 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L10343:
	pop	edi
	pop	esi
	pop	ebx

; 4574 : 	}
; 4575 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed, COMDAT
; _this$ = ecx

; 4578 : {

	push	esi
	mov	esi, ecx

; 4579 : 	GameObject *object;
; 4580 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 4581 : 	int x;
; 4582 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4583 : 	if (object)

	test	edi, edi
	je	SHORT $L10352

; 4584 : 	{
; 4585 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L10352:
	pop	edi
	pop	esi

; 4586 : 	}
; 4587 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4590 : {

	push	ebp
	push	edi

; 4591 : 	float health;
; 4592 : 	bool power;
; 4593 : 	GameObject *object;
; 4594 : 	int x;
; 4595 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 4596 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10362

; 4597 : 	{
; 4598 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 4599 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 4600 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4601 : 		if (object)

	test	ecx, ecx
	je	SHORT $L10364

; 4602 : 		{
; 4603 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10365
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L10364
$L10365:

; 4604 : 			{
; 4605 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L10364:

; 4606 : 			}
; 4607 : 		}
; 4608 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10362:
	pop	edi
	pop	ebp

; 4609 : 	}
; 4610 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4614 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4615 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T16472 = -24						; size = 12
$T16473 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Created, COMDAT
; _this$ = ecx

; 4618 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 4619 : 	primary = true;
; 4620 : 	int visible;
; 4621 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4622 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 4623 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 4624 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 4625 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 4626 : 	enemyseen = true;
; 4627 : 	attackid = 0;
; 4628 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16473[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16472[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16472[esp+36]
	push	ecx
	mov	DWORD PTR $T16472[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16472[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 4629 : 	if (effect)

	test	edi, edi
	je	SHORT $L10376

; 4630 : 	{
; 4631 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 4632 : 		lastframe = false;
; 4633 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L10376:
	pop	edi
	pop	esi
	pop	ebp

; 4634 : 	}
; 4635 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom, COMDAT
; _this$ = ecx

; 4638 : {

	push	esi

; 4639 : 	int msg;
; 4640 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4641 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L10385

; 4642 : 	{
; 4643 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 4644 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L10385:
	pop	esi

; 4645 : 	}
; 4646 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$10395 = -40					; size = 4
_pos2$10398 = -36					; size = 12
_pos$10397 = -24					; size = 12
$T16483 = -12						; size = 12
$T16481 = -12						; size = 12
_range$10396 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$10394 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4649 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 4650 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4651 : 	if (o)

	test	eax, eax
	je	SHORT $L10392

; 4652 : 	{
; 4653 : 		seen = o;

	mov	ebx, eax
$L10392:

; 4654 : 	}
; 4655 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L10402
	push	edi

; 4656 : 	{
; 4657 : 		float minrange;
; 4658 : 		float maxrange;
; 4659 : 		float range;
; 4660 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10394[esp+48]

; 4661 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10395[esp+52]

; 4662 : 		Vector3 pos,pos2;
; 4663 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16481[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10397[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10397[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 4664 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16483[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$10397[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10398[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10398[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 4665 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10398[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$10397[esp+72]
	mov	DWORD PTR _pos2$10398[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$10396[esp+72]

; 4666 : 		pos.Z = 0;
; 4667 : 		pos2.Z = 0;
; 4668 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10398[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$10397[esp+80]
	push	ecx
	mov	DWORD PTR _pos$10397[esp+92], 0
	mov	DWORD PTR _pos2$10398[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10394[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16484
	fld	DWORD PTR _range$10396[esp+48]
	fcomp	DWORD PTR _maxrange$10395[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16484

; 4669 : 		{
; 4670 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 4671 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 4672 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 4673 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L16484

; 4674 : 			{
; 4675 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 4676 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 4677 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16484:
	pop	edi
$L10402:
	pop	esi
	pop	ebx

; 4678 : 			}
; 4679 : 		}
; 4680 : 	}
; 4681 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$10410 = -244					; size = 4
_pos2$10413 = -240					; size = 12
_pos$10412 = -228					; size = 12
_range$10411 = -216					; size = 4
_minrange$10409 = -212					; size = 4
$T16491 = -208						; size = 12
$T16489 = -208						; size = 12
_params$10418 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4685 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L10419
	push	ebp
	push	edi

; 4686 : 	{
; 4687 : 		float minrange;
; 4688 : 		float maxrange;
; 4689 : 		float range;
; 4690 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10409[esp+256]

; 4691 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10410[esp+256]

; 4692 : 		Vector3 pos,pos2;
; 4693 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16489[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10412[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10412[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4694 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$10412[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16491[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10413[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10413[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 4695 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$10413[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$10412[esp+280]
	mov	DWORD PTR _pos2$10413[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$10411[esp+284]

; 4696 : 		pos.Z = 0;
; 4697 : 		pos2.Z = 0;
; 4698 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$10412[esp+264], 0
	mov	DWORD PTR _pos2$10413[esp+264], 0
	je	SHORT $L10416

; 4699 : 		{
; 4700 : 			lastframe = false;
; 4701 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L10416:

; 4702 : 		}
; 4703 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10413[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$10412[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10409[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16507
	fld	DWORD PTR _range$10411[esp+256]
	fcomp	DWORD PTR _maxrange$10410[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16507
	push	ebx

; 4704 : 		{
; 4705 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10418[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4706 : 			params.Set_Basic(this,100,1,-1);
; 4707 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$10418[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$10418[esp+268], eax
	mov	DWORD PTR _params$10418[esp+432], -1
	call	DWORD PTR [edx+96]

; 4708 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$10418[esp+264]
	mov	DWORD PTR _params$10418[esp+352], eax
	mov	eax, DWORD PTR _maxrange$10410[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$10418[esp+348], eax
	mov	DWORD PTR _params$10418[esp+352], 0
	mov	BYTE PTR _params$10418[esp+364], bl
	call	DWORD PTR [edx+20]

; 4709 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L16507:
	pop	edi
	pop	ebp
$L10419:
	pop	esi

; 4710 : 			{
; 4711 : 				primary = false;
; 4712 : 			}
; 4713 : 			else
; 4714 : 			{
; 4715 : 				primary = true;
; 4716 : 			}
; 4717 : 		}
; 4718 : 	}
; 4719 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@ ; `string'
PUBLIC	?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created
;	COMDAT ??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
CONST	SEGMENT
??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@ DB 'JFW_Building_Gun'
	DB	'_Animated_Weapon_VTOL_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
_v$ = -1036						; size = 12
_v2$ = -1024						; size = 12
$T16512 = -1024						; size = 12
$T16513 = -1012						; size = 12
_params$ = -1000					; size = 1000
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4722 : {

	sub	esp, 1036				; 0000040cH
	push	ebx

; 4723 : 	Vector3 v,v2;
; 4724 : 	GameObject *object;
; 4725 : 	const char *weapon;
; 4726 : 	char params[1000];
; 4727 : 	v = Commands->Get_Position(obj);

	mov	ebx, DWORD PTR _obj$[esp+1036]
	push	esi
	push	edi
	lea	eax, DWORD PTR $T16512[esp+1048]
	mov	esi, ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _v$[esp+1056], edx
	mov	ecx, DWORD PTR [eax+4]
	add	esp, 8
	mov	DWORD PTR _v$[esp+1052], ecx
	mov	edx, DWORD PTR [eax+8]

; 4728 : 	v2 = Get_Vector3_Parameter("Positon");

	push	OFFSET FLAT:??_C@_07PHDJHIPA@Positon?$AA@
	lea	eax, DWORD PTR $T16513[esp+1052]
	push	eax
	mov	ecx, esi
	mov	DWORD PTR _v$[esp+1064], edx
	call	?Get_Vector3_Parameter@ScriptImpClass@@QAE?AUVector3@@PBD@Z ; ScriptImpClass::Get_Vector3_Parameter

; 4729 : 	v.X += v2.X;

	fld	DWORD PTR _v$[esp+1048]
	mov	ecx, DWORD PTR [eax]
	mov	edx, DWORD PTR [eax+4]
	mov	eax, DWORD PTR [eax+8]
	mov	DWORD PTR _v2$[esp+1048], ecx
	fadd	DWORD PTR _v2$[esp+1048]
	mov	DWORD PTR _v2$[esp+1052], edx
	mov	DWORD PTR _v2$[esp+1056], eax
	fstp	DWORD PTR _v$[esp+1048]

; 4730 : 	v.Y += v2.Y;
; 4731 : 	v.Z += v2.Z;
; 4732 : 	weapon = Get_Parameter("Weapon");

	push	OFFSET FLAT:??_C@_06KLEAFNAE@Weapon?$AA@
	fld	DWORD PTR _v$[esp+1056]
	mov	ecx, esi
	fadd	DWORD PTR _v2$[esp+1056]
	fstp	DWORD PTR _v$[esp+1056]
	fld	DWORD PTR _v$[esp+1060]
	fadd	DWORD PTR _v2$[esp+1060]
	fstp	DWORD PTR _v$[esp+1060]
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter

; 4733 : 	object = Commands->Create_Object(weapon,v);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _v$[esp+1048]
	push	ecx
	push	eax
	call	DWORD PTR [edx+100]
	mov	edi, eax
	add	esp, 8

; 4734 : 	if (object)

	test	edi, edi
	je	$L10432

; 4735 : 	{
; 4736 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	esi
	push	ebx
	call	DWORD PTR [eax+128]

; 4737 : 		weaponid = Commands->Get_ID(object);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+108]
	add	esp, 20					; 00000014H

; 4738 : 		sprintf(params,"%s,%s,%s,%s,%s,%s,%s,%s",Get_Parameter("Disable_Custom"),Get_Parameter("Visible"),Get_Parameter("Min_Range"),Get_Parameter("Max_Range"),Get_Parameter("EffectPreset"),Get_Parameter("EffectAnimation"),Get_Parameter("EffectTime"),Get_Parameter("EffectFrame"));

	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	mov	DWORD PTR [esi+28], eax
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	lea	edx, DWORD PTR _params$[esp+1080]
	push	OFFSET FLAT:??_C@_0BI@LIDAKGLK@?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?0?$CFs?$AA@
	push	edx
	call	_sprintf

; 4739 : 		Commands->Attach_Script(object,"JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary",params);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _params$[esp+1088]
	push	eax
	push	OFFSET FLAT:??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
	push	edi
	call	DWORD PTR [ecx+120]
	add	esp, 52					; 00000034H
$L10432:
	pop	edi
	pop	esi
	pop	ebx

; 4740 : 	}
; 4741 : }

	add	esp, 1036				; 0000040cH
	ret	4
?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed
; Function compile flags: /Ogty
;	COMDAT ?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_shooter$ = 12						; size = 4
?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed, COMDAT
; _this$ = ecx

; 4744 : {

	push	esi
	mov	esi, ecx

; 4745 : 	GameObject *object;
; 4746 : 	object = Commands->Find_Object(weaponid);

	mov	eax, DWORD PTR [esi+28]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	eax
	call	DWORD PTR [ecx+96]
	add	esp, 4

; 4747 : 	int x;
; 4748 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	ecx, esi
	mov	edi, eax
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4749 : 	if (object)

	test	edi, edi
	je	SHORT $L10441

; 4750 : 	{
; 4751 : 		Commands->Send_Custom_Event(obj,object,x,0,0);

	mov	edx, DWORD PTR _obj$[esp+4]
	push	0
	push	0
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+140]
	add	esp, 20					; 00000014H
$L10441:
	pop	edi
	pop	esi

; 4752 : 	}
; 4753 : }

	ret	8
?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Killed
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_health$ = 12						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4756 : {

	push	ebp
	push	edi

; 4757 : 	float health;
; 4758 : 	bool power;
; 4759 : 	GameObject *object;
; 4760 : 	int x;
; 4761 : 	x = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	edi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter
	mov	ebp, eax

; 4762 : 	if (number == 1)

	cmp	DWORD PTR _number$[esp+4], 1
	jne	$L10451

; 4763 : 	{
; 4764 : 		health = Commands->Get_Health(obj);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	push	esi
	mov	esi, DWORD PTR _obj$[esp+12]
	push	esi
	call	DWORD PTR [eax+220]
	fstp	DWORD PTR _health$[esp+16]

; 4765 : 		power = Commands->Get_Building_Power(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+648]

; 4766 : 		object = Commands->Find_Object(weaponid);

	mov	edx, DWORD PTR [edi+28]
	mov	bl, al
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	mov	ecx, eax
	add	esp, 12					; 0000000cH

; 4767 : 		if (object)

	test	ecx, ecx
	je	SHORT $L10453

; 4768 : 		{
; 4769 : 			if ((!power) || (!health))

	test	bl, bl
	je	SHORT $L10454
	fld	DWORD PTR __real@00000000
	fld	DWORD PTR _health$[esp+12]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L10453
$L10454:

; 4770 : 			{
; 4771 : 				Commands->Send_Custom_Event(obj,object,x,0,0);

	push	0
	push	0
	push	ebp
	push	ecx
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	esi
	call	DWORD PTR [ecx+140]
	add	esp, 20					; 00000014H
$L10453:

; 4772 : 			}
; 4773 : 		}
; 4774 : 		Commands->Start_Timer(obj,this,1.0,1);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	1065353216				; 3f800000H
	push	edi
	push	esi
	call	DWORD PTR [edx+128]
	add	esp, 16					; 00000010H
	pop	esi
	pop	ebx
$L10451:
	pop	edi
	pop	ebp

; 4775 : 	}
; 4776 : }

	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4780 : 	Auto_Save_Variable(1,4,&weaponid);

	lea	eax, DWORD PTR [ecx+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4781 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Created
; Function compile flags: /Ogty
;	COMDAT ?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
_TEXT	SEGMENT
$T16526 = -24						; size = 12
$T16527 = -12						; size = 12
_obj$ = 8						; size = 4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Created, COMDAT
; _this$ = ecx

; 4784 : {

	sub	esp, 24					; 00000018H
	push	ebp
	push	esi
	push	edi
	mov	esi, ecx

; 4785 : 	primary = true;
; 4786 : 	int visible;
; 4787 : 	visible = Get_Int_Parameter("Visible");

	push	OFFSET FLAT:??_C@_07MGEGCLJM@Visible?$AA@
	mov	BYTE PTR [esi+28], 1
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4788 : 	Commands->Enable_Hibernation(obj,false);

	mov	edi, DWORD PTR _obj$[esp+32]
	mov	ebp, eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+568]

; 4789 : 	Commands->Innate_Enable(obj);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [ecx+440]

; 4790 : 	Commands->Enable_Enemy_Seen(obj,true);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	1
	push	edi
	call	DWORD PTR [edx+300]

; 4791 : 	Commands->Set_Is_Rendered(obj,visible);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	test	ebp, ebp
	setne	al
	push	eax
	push	edi
	call	DWORD PTR [ecx+628]

; 4792 : 	enemyseen = true;
; 4793 : 	attackid = 0;
; 4794 : 	GameObject *effect = Commands->Create_Object(Get_Parameter("EffectPreset"),Commands->Get_Position(obj));

	lea	edx, DWORD PTR $T16527[esp+64]
	mov	BYTE PTR [esi+40], 1
	mov	DWORD PTR [esi+36], 0
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	push	edx
	call	DWORD PTR [eax+64]
	mov	ecx, DWORD PTR [eax]
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	DWORD PTR $T16526[esp+72], ecx
	mov	edx, DWORD PTR [eax+4]
	add	esp, 36					; 00000024H
	lea	ecx, DWORD PTR $T16526[esp+36]
	push	ecx
	mov	DWORD PTR $T16526[esp+44], edx
	mov	eax, DWORD PTR [eax+8]
	push	OFFSET FLAT:??_C@_0N@BNDFOEGC@EffectPreset?$AA@
	mov	ecx, esi
	mov	DWORD PTR $T16526[esp+52], eax
	add	edi, 100				; 00000064H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	call	DWORD PTR [edi]
	mov	edi, eax
	add	esp, 8

; 4795 : 	if (effect)

	test	edi, edi
	je	SHORT $L10465

; 4796 : 	{
; 4797 : 		effectid = Commands->Get_ID(effect);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edi
	call	DWORD PTR [edx+108]
	add	esp, 4

; 4798 : 		lastframe = false;
; 4799 : 		Commands->Set_Animation(effect,Get_Parameter("EffectAnimation"),false,0,0,0,false);

	push	0
	push	0
	push	0
	push	0
	mov	DWORD PTR [esi+32], eax
	mov	BYTE PTR [esi+41], 0
	mov	ebp, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	add	ebp, 164				; 000000a4H
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	push	eax
	push	edi
	call	DWORD PTR [ebp]
	add	esp, 28					; 0000001cH
$L10465:
	pop	edi
	pop	esi
	pop	ebp

; 4800 : 	}
; 4801 : }

	add	esp, 24					; 00000018H
	ret	4
?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Created
_TEXT	ENDS
PUBLIC	?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom
; Function compile flags: /Ogty
;	COMDAT ?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
_TEXT	SEGMENT
_obj$ = 8						; size = 4
_message$ = 12						; size = 4
_param$ = 16						; size = 4
_sender$ = 20						; size = 4
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom, COMDAT
; _this$ = ecx

; 4804 : {

	push	esi

; 4805 : 	int msg;
; 4806 : 	msg = Get_Int_Parameter("Disable_Custom");

	push	OFFSET FLAT:??_C@_0P@EAIDILHB@Disable_Custom?$AA@
	mov	esi, ecx
	call	?Get_Int_Parameter@ScriptImpClass@@QAEHPBD@Z ; ScriptImpClass::Get_Int_Parameter

; 4807 : 	if (message == msg)

	cmp	DWORD PTR _message$[esp], eax
	jne	SHORT $L10474

; 4808 : 	{
; 4809 : 		Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR _obj$[esp]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	eax
	call	DWORD PTR [ecx+300]
	add	esp, 8

; 4810 : 		enemyseen = false;

	mov	BYTE PTR [esi+40], 0
$L10474:
	pop	esi

; 4811 : 	}
; 4812 : }

	ret	16					; 00000010H
?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Custom
_TEXT	ENDS
PUBLIC	?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen
; Function compile flags: /Ogty
;	COMDAT ?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
_TEXT	SEGMENT
_maxrange$10484 = -40					; size = 4
_pos2$10487 = -36					; size = 12
_pos$10486 = -24					; size = 12
$T16537 = -12						; size = 12
$T16535 = -12						; size = 12
_range$10485 = 8					; size = 4
_obj$ = 8						; size = 4
_minrange$10483 = 12					; size = 4
_seen$ = 12						; size = 4
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen, COMDAT
; _this$ = ecx

; 4815 : {

	sub	esp, 40					; 00000028H
	push	ebx

; 4816 : 	GameObject *o = Get_Vehicle(seen);

	mov	ebx, DWORD PTR _seen$[esp+40]
	push	esi
	push	ebx
	mov	esi, ecx
	call	?Get_Vehicle@@YAPAEPAE@Z		; Get_Vehicle
	add	esp, 4

; 4817 : 	if (o)

	test	eax, eax
	je	SHORT $L10481

; 4818 : 	{
; 4819 : 		seen = o;

	mov	ebx, eax
$L10481:

; 4820 : 	}
; 4821 : 	if (Get_Vehicle_Mode(seen) != FLYING)

	push	ebx
	call	?Get_Vehicle_Mode@@YAIPAE@Z		; Get_Vehicle_Mode
	add	esp, 4
	cmp	eax, 3
	je	$L10491
	push	edi

; 4822 : 	{
; 4823 : 		float minrange;
; 4824 : 		float maxrange;
; 4825 : 		float range;
; 4826 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10483[esp+48]

; 4827 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10484[esp+52]

; 4828 : 		Vector3 pos,pos2;
; 4829 : 		pos = Commands->Get_Position(obj);

	mov	edi, DWORD PTR _obj$[esp+48]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16535[esp+52]
	push	edi
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10486[esp+60], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10486[esp+64], ecx
	mov	edx, DWORD PTR [eax+8]

; 4830 : 		pos2 = Commands->Get_Position(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16537[esp+60]
	push	ebx
	push	eax
	mov	DWORD PTR _pos$10486[esp+76], edx
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10487[esp+68], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10487[esp+72], ecx
	mov	edx, DWORD PTR [eax+8]

; 4831 : 		range = Commands->Get_Distance(pos,pos2);

	lea	eax, DWORD PTR _pos2$10487[esp+68]
	push	eax
	lea	ecx, DWORD PTR _pos$10486[esp+72]
	mov	DWORD PTR _pos2$10487[esp+80], edx
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	call	DWORD PTR [edx+256]
	fstp	DWORD PTR _range$10485[esp+72]

; 4832 : 		pos.Z = 0;
; 4833 : 		pos2.Z = 0;
; 4834 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10487[esp+76]
	push	eax
	lea	ecx, DWORD PTR _pos$10486[esp+80]
	push	ecx
	mov	DWORD PTR _pos$10486[esp+92], 0
	mov	DWORD PTR _pos2$10487[esp+92], 0
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10483[esp+80]
	add	esp, 32					; 00000020H
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16538
	fld	DWORD PTR _range$10485[esp+48]
	fcomp	DWORD PTR _maxrange$10484[esp+52]
	fnstsw	ax
	test	ah, 5
	jp	$L16538

; 4835 : 		{
; 4836 : 			enemyseen = false;

	mov	BYTE PTR [esi+40], 0

; 4837 : 			Commands->Enable_Enemy_Seen(obj,false);

	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	edi
	call	DWORD PTR [eax+300]

; 4838 : 			attackid = Commands->Get_ID(seen);

	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ebx
	call	DWORD PTR [ecx+108]
	mov	DWORD PTR [esi+36], eax

; 4839 : 			if (!lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 12					; 0000000cH
	test	al, al
	jne	SHORT $L16538

; 4840 : 			{
; 4841 : 				lastframe = true;

	mov	BYTE PTR [esi+41], 1

; 4842 : 				Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,0,Get_Float_Parameter("EffectFrame"),false);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	ebx, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	edx, DWORD PTR [esi+32]
	push	eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [ebx]

; 4843 : 				Commands->Start_Timer(obj,this,Get_Float_Parameter("EffectTime"),1);

	mov	ebx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	add	esp, 28					; 0000001cH
	push	1
	push	OFFSET FLAT:??_C@_0L@KBDJNGME@EffectTime?$AA@
	mov	ecx, esi
	add	ebx, 128				; 00000080H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	esi
	push	edi
	call	DWORD PTR [ebx]
	add	esp, 16					; 00000010H
$L16538:
	pop	edi
$L10491:
	pop	esi
	pop	ebx

; 4844 : 			}
; 4845 : 		}
; 4846 : 	}
; 4847 : }

	add	esp, 40					; 00000028H
	ret	8
?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Enemy_Seen
_TEXT	ENDS
PUBLIC	?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Timer_Expired
; Function compile flags: /Ogty
;	COMDAT ?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
_TEXT	SEGMENT
_maxrange$10499 = -244					; size = 4
_pos2$10502 = -240					; size = 12
_pos$10501 = -228					; size = 12
_range$10500 = -216					; size = 4
_minrange$10498 = -212					; size = 4
$T16545 = -208						; size = 12
$T16543 = -208						; size = 12
_params$10507 = -196					; size = 196
_obj$ = 8						; size = 4
_number$ = 12						; size = 4
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Timer_Expired, COMDAT
; _this$ = ecx

; 4851 : 	if (number == 1)

	mov	eax, DWORD PTR _number$[esp-4]
	sub	esp, 244				; 000000f4H
	cmp	eax, 1
	push	esi
	mov	esi, ecx
	jne	$L10508
	push	ebp
	push	edi

; 4852 : 	{
; 4853 : 		float minrange;
; 4854 : 		float maxrange;
; 4855 : 		float range;
; 4856 : 		minrange = Get_Float_Parameter("Min_Range");

	push	OFFSET FLAT:??_C@_09PMPCDCMH@Min_Range?$AA@
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _minrange$10498[esp+256]

; 4857 : 		maxrange = Get_Float_Parameter("Max_Range");

	push	OFFSET FLAT:??_C@_09PNPOKIHD@Max_Range?$AA@
	mov	ecx, esi
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	fstp	DWORD PTR _maxrange$10499[esp+256]

; 4858 : 		Vector3 pos,pos2;
; 4859 : 		pos = Commands->Get_Position(obj);

	mov	ebp, DWORD PTR _obj$[esp+252]
	mov	ecx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR $T16543[esp+256]
	push	ebp
	push	eax
	call	DWORD PTR [ecx+64]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR _pos$10501[esp+264], edx
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos$10501[esp+268], ecx
	mov	edx, DWORD PTR [eax+8]

; 4860 : 		pos2 = Commands->Get_Position(Commands->Find_Object(attackid));

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	ecx
	mov	DWORD PTR _pos$10501[esp+276], edx
	lea	edi, DWORD PTR [eax+64]
	call	DWORD PTR [eax+96]
	push	eax
	lea	edx, DWORD PTR $T16545[esp+272]
	push	edx
	call	DWORD PTR [edi]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR _pos2$10502[esp+276], ecx
	mov	edx, DWORD PTR [eax+4]
	mov	DWORD PTR _pos2$10502[esp+280], edx
	mov	eax, DWORD PTR [eax+8]

; 4861 : 		range = Commands->Get_Distance(pos,pos2);

	lea	ecx, DWORD PTR _pos2$10502[esp+276]
	push	ecx
	lea	edx, DWORD PTR _pos$10501[esp+280]
	mov	DWORD PTR _pos2$10502[esp+288], eax
	mov	eax, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	edx
	call	DWORD PTR [eax+256]
	fstp	DWORD PTR _range$10500[esp+284]

; 4862 : 		pos.Z = 0;
; 4863 : 		pos2.Z = 0;
; 4864 : 		if (lastframe)

	mov	al, BYTE PTR [esi+41]
	add	esp, 28					; 0000001cH
	test	al, al
	mov	DWORD PTR _pos$10501[esp+264], 0
	mov	DWORD PTR _pos2$10502[esp+264], 0
	je	SHORT $L10505

; 4865 : 		{
; 4866 : 			lastframe = false;
; 4867 : 			Commands->Set_Animation(Commands->Find_Object(effectid),Get_Parameter("EffectAnimation"),false,0,Get_Float_Parameter("EffectFrame"),0,false);

	push	0
	mov	BYTE PTR [esi+41], 0
	mov	edi, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	0
	push	OFFSET FLAT:??_C@_0M@JJMJELJO@EffectFrame?$AA@
	mov	ecx, esi
	add	edi, 164				; 000000a4H
	call	?Get_Float_Parameter@ScriptImpClass@@QAEMPBD@Z ; ScriptImpClass::Get_Float_Parameter
	push	ecx
	fstp	DWORD PTR [esp]
	push	0
	push	0
	push	OFFSET FLAT:??_C@_0BA@KAGOHEFM@EffectAnimation?$AA@
	mov	ecx, esi
	call	?Get_Parameter@ScriptImpClass@@QAEPBDPBD@Z ; ScriptImpClass::Get_Parameter
	mov	ecx, DWORD PTR [esi+32]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	push	eax
	push	ecx
	call	DWORD PTR [edx+96]
	add	esp, 4
	push	eax
	call	DWORD PTR [edi]
	add	esp, 28					; 0000001cH
$L10505:

; 4868 : 		}
; 4869 : 		if ((Commands->Get_Distance(pos,pos2) > minrange) && (range < maxrange)) 

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	eax, DWORD PTR _pos2$10502[esp+256]
	push	eax
	lea	ecx, DWORD PTR _pos$10501[esp+260]
	push	ecx
	call	DWORD PTR [edx+256]
	fcomp	DWORD PTR _minrange$10498[esp+264]
	add	esp, 8
	fnstsw	ax
	test	ah, 65					; 00000041H
	jne	$L16561
	fld	DWORD PTR _range$10500[esp+256]
	fcomp	DWORD PTR _maxrange$10499[esp+256]
	fnstsw	ax
	test	ah, 5
	jp	SHORT $L16561
	push	ebx

; 4870 : 		{
; 4871 : 			ActionParamsStruct params;

	lea	ecx, DWORD PTR _params$10507[esp+260]
	call	??0ActionParamsStruct@@QAE@XZ		; ActionParamsStruct::ActionParamsStruct

; 4872 : 			params.Set_Basic(this,100,1,-1);
; 4873 : 			params.Set_Attack(Commands->Find_Object(attackid),maxrange,0,primary);

	mov	ecx, DWORD PTR [esi+36]
	mov	eax, DWORD PTR [esi+4]
	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	mov	bl, BYTE PTR [esi+28]
	push	ecx
	mov	DWORD PTR _params$10507[esp+264], 100	; 00000064H
	mov	DWORD PTR _params$10507[esp+268], eax
	mov	DWORD PTR _params$10507[esp+432], -1
	call	DWORD PTR [edx+96]

; 4874 : 			Commands->Action_Attack(obj,params);

	mov	edx, DWORD PTR ?Commands@@3PAUScriptCommands@@A ; Commands
	lea	ecx, DWORD PTR _params$10507[esp+264]
	mov	DWORD PTR _params$10507[esp+352], eax
	mov	eax, DWORD PTR _maxrange$10499[esp+264]
	push	ecx
	push	ebp
	mov	DWORD PTR _params$10507[esp+348], eax
	mov	DWORD PTR _params$10507[esp+352], 0
	mov	BYTE PTR _params$10507[esp+364], bl
	call	DWORD PTR [edx+20]

; 4875 : 			if (primary)

	mov	al, BYTE PTR [esi+28]
	add	esp, 12					; 0000000cH
	test	al, al
	sete	al
	mov	BYTE PTR [esi+28], al
	pop	ebx
$L16561:
	pop	edi
	pop	ebp
$L10508:
	pop	esi

; 4876 : 			{
; 4877 : 				primary = false;
; 4878 : 			}
; 4879 : 			else
; 4880 : 			{
; 4881 : 				primary = true;
; 4882 : 			}
; 4883 : 		}
; 4884 : 	}
; 4885 : }

	add	esp, 244				; 000000f4H
	ret	8
?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Timer_Expired
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4888 : {

	push	esi
	mov	esi, ecx

; 4889 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4890 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4891 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4892 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 4893 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4896 : {

	push	esi
	mov	esi, ecx

; 4897 : 	Auto_Save_Variable(1,4,&effectid);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	4
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4898 : 	Auto_Save_Variable(2,4,&attackid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4899 : 	Auto_Save_Variable(3,1,&enemyseen);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	1
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4900 : 	Auto_Save_Variable(4,1,&lastframe);

	lea	eax, DWORD PTR [esi+37]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 4901 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4904 : {

	push	esi
	mov	esi, ecx

; 4905 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4906 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4907 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4908 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4909 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 4910 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
; Function compile flags: /Ogty
;	COMDAT ?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ
_TEXT	SEGMENT
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables, COMDAT
; _this$ = ecx

; 4913 : {

	push	esi
	mov	esi, ecx

; 4914 : 	Auto_Save_Variable(1,1,&primary);

	lea	eax, DWORD PTR [esi+28]
	push	eax
	push	1
	push	1
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4915 : 	Auto_Save_Variable(2,4,&effectid);

	lea	ecx, DWORD PTR [esi+32]
	push	ecx
	push	4
	push	2
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4916 : 	Auto_Save_Variable(3,4,&attackid);

	lea	edx, DWORD PTR [esi+36]
	push	edx
	push	4
	push	3
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4917 : 	Auto_Save_Variable(4,1,&enemyseen);

	lea	eax, DWORD PTR [esi+40]
	push	eax
	push	1
	push	4
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable

; 4918 : 	Auto_Save_Variable(5,1,&lastframe);

	lea	ecx, DWORD PTR [esi+41]
	push	ecx
	push	1
	push	5
	mov	ecx, esi
	call	?Auto_Save_Variable@ScriptImpClass@@QAEXHHPAX@Z ; ScriptImpClass::Auto_Save_Variable
	pop	esi

; 4919 : }

	ret	0
?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::Register_Auto_Save_Variables
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>
EXTRN	??1ScriptFactory@@UAE@XZ:NEAR			; ScriptFactory::~ScriptFactory
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ ENDP	; ScriptRegistrant<JFW_Building_Gun>::~ScriptRegistrant<JFW_Building_Gun>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::~ScriptRegistrant<JFW_Building_Gun_Animated>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
; Function compile flags: /Ogty
;	COMDAT ??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_TEXT	SEGMENT
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx
	jmp	??1ScriptFactory@@UAE@XZ		; ScriptFactory::~ScriptFactory
??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::~ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@	; ScriptRegistrant<JFW_Building_Gun>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun>::`vector deleting destructor'
EXTRN	??0ScriptFactory@@QAE@PAD0@Z:NEAR		; ScriptFactory::ScriptFactory
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@
; File c:\documents and settings\owner\desktop\ssctf 1.3\scripts.h
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon>::ScriptRegistrant<JFW_Building_Gun_Weapon>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon>::ScriptRegistrant<JFW_Building_Gun_Weapon>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::ScriptRegistrant<JFW_Building_Gun_Weapon>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Secondary>::ScriptRegistrant<JFW_Building_Gun_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Secondary>::ScriptRegistrant<JFW_Building_Gun_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::ScriptRegistrant<JFW_Building_Gun_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated>::ScriptRegistrant<JFW_Building_Gun_Animated>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated>::ScriptRegistrant<JFW_Building_Gun_Animated>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::ScriptRegistrant<JFW_Building_Gun_Animated>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`scalar deleting destructor'
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`vftable'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
_TEXT	ENDS
PUBLIC	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
PUBLIC	?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@ ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`vftable'
PUBLIC	??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
EXTRN	??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z:NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`vector deleting destructor'
;	COMDAT ??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@
CONST	SEGMENT
??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@ DD FLAT:??_E?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`vftable'
	DD	FLAT:?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z
_TEXT	SEGMENT
_n$ = 8							; size = 4
_p$ = 12						; size = 4
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>, COMDAT
; _this$ = ecx

; 474  : 	{

	mov	eax, DWORD PTR _p$[esp-4]
	push	esi
	mov	esi, ecx
	mov	ecx, DWORD PTR _n$[esp]
	push	eax
	push	ecx
	mov	ecx, esi
	call	??0ScriptFactory@@QAE@PAD0@Z		; ScriptFactory::ScriptFactory
	mov	DWORD PTR [esi], OFFSET FLAT:??_7?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@6B@

; 475  : 	}

	mov	eax, esi
	pop	esi
	ret	8
??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
_TEXT	ENDS
EXTRN	??3@YAXPAX@Z:NEAR				; operator delete
; Function compile flags: /Ogty
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17057
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17057:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17061
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17061:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17065
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17065:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17069
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17069:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17073
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17073:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17077
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17077:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17081
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17081:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17085
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17085:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17089
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17089:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17093
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17093:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17097
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17097:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17101
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17101:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17105
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17105:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17109
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17109:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17113
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17113:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17117
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17117:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17121
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17121:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17125
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17125:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17129
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17129:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17133
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17133:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17137
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17137:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17141
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17141:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17145
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17145:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17149
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17149:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17153
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17153:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17157
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17157:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17161
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17161:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17165
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17165:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17169
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17169:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17173
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17173:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17177
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17177:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17181
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17181:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17185
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17185:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17189
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17189:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17193
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17193:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17197
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17197:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17201
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17201:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17205
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17205:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17209
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17209:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17213
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17213:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17217
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17217:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17221
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17221:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17225
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17225:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17229
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17229:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17233
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17233:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17237
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17237:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17241
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17241:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17245
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17245:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17249
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17249:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17253
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17253:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17257
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17257:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17261
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17261:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17265
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17265:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17269
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17269:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17273
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17273:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17277
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17277:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17281
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17281:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17285
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17285:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17289
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17289:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L17293
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L17293:
	mov	eax, esi
	pop	esi
	ret	4
??_G?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAXI@Z ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??_7JFW_Building_Gun@@6B@			; JFW_Building_Gun::`vftable'
PUBLIC	??_GJFW_Building_Gun@@UAEPAXI@Z			; JFW_Building_Gun::`scalar deleting destructor'
EXTRN	??0ScriptImpClass@@QAE@XZ:NEAR			; ScriptImpClass::ScriptImpClass
EXTRN	?Get_Name@ScriptImpClass@@UAEPADXZ:NEAR		; ScriptImpClass::Get_Name
EXTRN	?Attach@ScriptImpClass@@UAEXPAE@Z:NEAR		; ScriptImpClass::Attach
EXTRN	?Detach@ScriptImpClass@@UAEXPAE@Z:NEAR		; ScriptImpClass::Detach
EXTRN	?Destroyed@ScriptImpClass@@UAEXPAE@Z:NEAR	; ScriptImpClass::Destroyed
EXTRN	?Damaged@ScriptImpClass@@UAEXPAE0M@Z:NEAR	; ScriptImpClass::Damaged
EXTRN	?Custom@ScriptImpClass@@UAEXPAEHH0@Z:NEAR	; ScriptImpClass::Custom
EXTRN	?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z:NEAR ; ScriptImpClass::Sound_Heard
EXTRN	?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z:NEAR	; ScriptImpClass::Enemy_Seen
EXTRN	?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z:NEAR ; ScriptImpClass::Action_Complete
EXTRN	?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z:NEAR ; ScriptImpClass::Animation_Complete
EXTRN	?Poked@ScriptImpClass@@UAEXPAE0@Z:NEAR		; ScriptImpClass::Poked
EXTRN	?Entered@ScriptImpClass@@UAEXPAE0@Z:NEAR	; ScriptImpClass::Entered
EXTRN	?Exited@ScriptImpClass@@UAEXPAE0@Z:NEAR		; ScriptImpClass::Exited
EXTRN	?Owner@ScriptImpClass@@UAEPAEXZ:NEAR		; ScriptImpClass::Owner
EXTRN	?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ:NEAR	; ScriptImpClass::Get_Owner_Ptr
EXTRN	?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z:NEAR ; ScriptImpClass::Set_Parameters_String
EXTRN	?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z:NEAR ; ScriptImpClass::Get_Parameters_String
EXTRN	?Save@ScriptImpClass@@UAEXAAE@Z:NEAR		; ScriptImpClass::Save
EXTRN	?Load@ScriptImpClass@@UAEXAAE@Z:NEAR		; ScriptImpClass::Load
EXTRN	?Save_Data@ScriptImpClass@@UAEXAAE@Z:NEAR	; ScriptImpClass::Save_Data
EXTRN	?Load_Data@ScriptImpClass@@UAEXAAE@Z:NEAR	; ScriptImpClass::Load_Data
EXTRN	??2@YAPAXI@Z:NEAR				; operator new
EXTRN	__except_list:DWORD
EXTRN	___CxxFrameHandler:NEAR
EXTRN	??_EJFW_Building_Gun@@UAEPAXI@Z:NEAR		; JFW_Building_Gun::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17315	DD	0ffffffffH
	DD	FLAT:$L17301
$T17312	DD	019930520H
	DD	01H
	DD	FLAT:$T17315
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun@@6B@ DD FLAT:??_EJFW_Building_Gun@@UAEPAXI@Z ; JFW_Building_Gun::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17298 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17298[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17299
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun@@6B@
	jmp	SHORT $L17300
$L17299:
	xor	esi, esi
$L17300:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17301:
	mov	eax, DWORD PTR $T17298[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17312
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon@@6B@		; JFW_Building_Gun_Weapon::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z		; JFW_Building_Gun_Weapon::`scalar deleting destructor'
EXTRN	?Killed@ScriptImpClass@@UAEXPAE0@Z:NEAR		; ScriptImpClass::Killed
EXTRN	?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ:NEAR ; ScriptImpClass::Register_Auto_Save_Variables
EXTRN	??_EJFW_Building_Gun_Weapon@@UAEPAXI@Z:NEAR	; JFW_Building_Gun_Weapon::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17337	DD	0ffffffffH
	DD	FLAT:$L17326
$T17335	DD	019930520H
	DD	01H
	DD	FLAT:$T17337
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon@@UAEPAXI@Z ; JFW_Building_Gun_Weapon::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17323 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	28					; 0000001cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17323[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17324
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon@@6B@
	jmp	SHORT $L17325
$L17324:
	xor	esi, esi
$L17325:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17326:
	mov	eax, DWORD PTR $T17323[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17335
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon>::Create
PUBLIC	??_7JFW_Building_Gun_No_Aircraft@@6B@		; JFW_Building_Gun_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z	; JFW_Building_Gun_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17358	DD	0ffffffffH
	DD	FLAT:$L17347
$T17356	DD	019930520H
	DD	01H
	DD	FLAT:$T17358
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17344 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17344[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17345
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_No_Aircraft@@6B@
	jmp	SHORT $L17346
$L17345:
	xor	esi, esi
$L17346:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17347:
	mov	eax, DWORD PTR $T17344[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17356
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Aircraft_Only@@6B@		; JFW_Building_Gun_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z	; JFW_Building_Gun_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17379	DD	0ffffffffH
	DD	FLAT:$L17368
$T17377	DD	019930520H
	DD	01H
	DD	FLAT:$T17379
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17365 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17365[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17366
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Aircraft_Only@@6B@
	jmp	SHORT $L17367
$L17366:
	xor	esi, esi
$L17367:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17368:
	mov	eax, DWORD PTR $T17365[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17377
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@	; JFW_Building_Gun_Weapon_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17400	DD	0ffffffffH
	DD	FLAT:$L17389
$T17398	DD	019930520H
	DD	01H
	DD	FLAT:$T17400
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17386 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	28					; 0000001cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17386[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17387
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_No_Aircraft@@6B@
	jmp	SHORT $L17388
$L17387:
	xor	esi, esi
$L17388:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17389:
	mov	eax, DWORD PTR $T17386[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17398
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@	; JFW_Building_Gun_Weapon_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17421	DD	0ffffffffH
	DD	FLAT:$L17410
$T17419	DD	019930520H
	DD	01H
	DD	FLAT:$T17421
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17407 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	28					; 0000001cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17407[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17408
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $L17409
$L17408:
	xor	esi, esi
$L17409:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17410:
	mov	eax, DWORD PTR $T17407[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17419
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Secondary@@6B@		; JFW_Building_Gun_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z	; JFW_Building_Gun_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Secondary@@UAEPAXI@Z:NEAR	; JFW_Building_Gun_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17442	DD	0ffffffffH
	DD	FLAT:$L17431
$T17440	DD	019930520H
	DD	01H
	DD	FLAT:$T17442
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17428 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17428[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17429
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Secondary@@6B@
	jmp	SHORT $L17430
$L17429:
	xor	esi, esi
$L17430:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17431:
	mov	eax, DWORD PTR $T17428[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17440
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_Secondary@@6B@	; JFW_Building_Gun_Weapon_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17463	DD	0ffffffffH
	DD	FLAT:$L17452
$T17461	DD	019930520H
	DD	01H
	DD	FLAT:$T17463
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17449 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17449[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17450
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_Secondary@@6B@
	jmp	SHORT $L17451
$L17450:
	xor	esi, esi
$L17451:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17452:
	mov	eax, DWORD PTR $T17449[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17461
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@	; JFW_Building_Gun_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17484	DD	0ffffffffH
	DD	FLAT:$L17473
$T17482	DD	019930520H
	DD	01H
	DD	FLAT:$T17484
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17470 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17470[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17471
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L17472
$L17471:
	xor	esi, esi
$L17472:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17473:
	mov	eax, DWORD PTR $T17470[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17482
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17505	DD	0ffffffffH
	DD	FLAT:$L17494
$T17503	DD	019930520H
	DD	01H
	DD	FLAT:$T17505
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17491 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17491[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17492
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L17493
$L17492:
	xor	esi, esi
$L17493:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17494:
	mov	eax, DWORD PTR $T17491[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17503
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17526	DD	0ffffffffH
	DD	FLAT:$L17515
$T17524	DD	019930520H
	DD	01H
	DD	FLAT:$T17526
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17512 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17512[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17513
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L17514
$L17513:
	xor	esi, esi
$L17514:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17515:
	mov	eax, DWORD PTR $T17512[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17524
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17547	DD	0ffffffffH
	DD	FLAT:$L17536
$T17545	DD	019930520H
	DD	01H
	DD	FLAT:$T17547
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17533 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17533[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17534
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L17535
$L17534:
	xor	esi, esi
$L17535:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17536:
	mov	eax, DWORD PTR $T17533[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17545
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated@@6B@		; JFW_Building_Gun_Animated::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated@@UAEPAXI@Z	; JFW_Building_Gun_Animated::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated@@UAEPAXI@Z:NEAR	; JFW_Building_Gun_Animated::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17568	DD	0ffffffffH
	DD	FLAT:$L17557
$T17566	DD	019930520H
	DD	01H
	DD	FLAT:$T17568
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated@@UAEPAXI@Z ; JFW_Building_Gun_Animated::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17554 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17554[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17555
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated@@6B@
	jmp	SHORT $L17556
$L17555:
	xor	esi, esi
$L17556:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17557:
	mov	eax, DWORD PTR $T17554[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17566
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon@@6B@	; JFW_Building_Gun_Animated_Weapon::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z	; JFW_Building_Gun_Animated_Weapon::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17589	DD	0ffffffffH
	DD	FLAT:$L17578
$T17587	DD	019930520H
	DD	01H
	DD	FLAT:$T17589
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17575 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17575[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17576
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon@@6B@
	jmp	SHORT $L17577
$L17576:
	xor	esi, esi
$L17577:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17578:
	mov	eax, DWORD PTR $T17575[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17587
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@	; JFW_Building_Gun_Animated_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17610	DD	0ffffffffH
	DD	FLAT:$L17599
$T17608	DD	019930520H
	DD	01H
	DD	FLAT:$T17610
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17596 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17596[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17597
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_No_Aircraft@@6B@
	jmp	SHORT $L17598
$L17597:
	xor	esi, esi
$L17598:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17599:
	mov	eax, DWORD PTR $T17596[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17608
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17631	DD	0ffffffffH
	DD	FLAT:$L17620
$T17629	DD	019930520H
	DD	01H
	DD	FLAT:$T17631
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17617 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17617[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17618
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Aircraft_Only@@6B@
	jmp	SHORT $L17619
$L17618:
	xor	esi, esi
$L17619:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17620:
	mov	eax, DWORD PTR $T17617[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17629
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17652	DD	0ffffffffH
	DD	FLAT:$L17641
$T17650	DD	019930520H
	DD	01H
	DD	FLAT:$T17652
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17638 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17638[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17639
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft@@6B@
	jmp	SHORT $L17640
$L17639:
	xor	esi, esi
$L17640:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17641:
	mov	eax, DWORD PTR $T17638[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17650
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17673	DD	0ffffffffH
	DD	FLAT:$L17662
$T17671	DD	019930520H
	DD	01H
	DD	FLAT:$T17673
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17659 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17659[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17660
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $L17661
$L17660:
	xor	esi, esi
$L17661:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17662:
	mov	eax, DWORD PTR $T17659[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17671
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Secondary@@6B@	; JFW_Building_Gun_Animated_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17694	DD	0ffffffffH
	DD	FLAT:$L17683
$T17692	DD	019930520H
	DD	01H
	DD	FLAT:$T17694
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17680 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17680[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17681
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Secondary@@6B@
	jmp	SHORT $L17682
$L17681:
	xor	esi, esi
$L17682:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17683:
	mov	eax, DWORD PTR $T17680[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17692
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17715	DD	0ffffffffH
	DD	FLAT:$L17704
$T17713	DD	019930520H
	DD	01H
	DD	FLAT:$T17715
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17701 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17701[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17702
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_Secondary@@6B@
	jmp	SHORT $L17703
$L17702:
	xor	esi, esi
$L17703:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17704:
	mov	eax, DWORD PTR $T17701[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17713
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17736	DD	0ffffffffH
	DD	FLAT:$L17725
$T17734	DD	019930520H
	DD	01H
	DD	FLAT:$T17736
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17722 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17722[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17723
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L17724
$L17723:
	xor	esi, esi
$L17724:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17725:
	mov	eax, DWORD PTR $T17722[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17734
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17757	DD	0ffffffffH
	DD	FLAT:$L17746
$T17755	DD	019930520H
	DD	01H
	DD	FLAT:$T17757
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17743 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17743[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17744
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L17745
$L17744:
	xor	esi, esi
$L17745:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17746:
	mov	eax, DWORD PTR $T17743[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17755
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17778	DD	0ffffffffH
	DD	FLAT:$L17767
$T17776	DD	019930520H
	DD	01H
	DD	FLAT:$T17778
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17764 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17764[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17765
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L17766
$L17765:
	xor	esi, esi
$L17766:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17767:
	mov	eax, DWORD PTR $T17764[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17776
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17799	DD	0ffffffffH
	DD	FLAT:$L17788
$T17797	DD	019930520H
	DD	01H
	DD	FLAT:$T17799
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17785 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17785[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17786
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L17787
$L17786:
	xor	esi, esi
$L17787:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17788:
	mov	eax, DWORD PTR $T17785[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17797
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_No_VTOL@@6B@		; JFW_Building_Gun_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z		; JFW_Building_Gun_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_No_VTOL@@UAEPAXI@Z:NEAR	; JFW_Building_Gun_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17820	DD	0ffffffffH
	DD	FLAT:$L17809
$T17818	DD	019930520H
	DD	01H
	DD	FLAT:$T17820
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17806 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17806[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17807
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_No_VTOL@@6B@
	jmp	SHORT $L17808
$L17807:
	xor	esi, esi
$L17808:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17809:
	mov	eax, DWORD PTR $T17806[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17818
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@	; JFW_Building_Gun_Weapon_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z	; JFW_Building_Gun_Weapon_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17841	DD	0ffffffffH
	DD	FLAT:$L17830
$T17839	DD	019930520H
	DD	01H
	DD	FLAT:$T17841
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17827 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	28					; 0000001cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17827[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17828
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_No_VTOL@@6B@
	jmp	SHORT $L17829
$L17828:
	xor	esi, esi
$L17829:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17830:
	mov	eax, DWORD PTR $T17827[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17839
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@	; JFW_Building_Gun_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17862	DD	0ffffffffH
	DD	FLAT:$L17851
$T17860	DD	019930520H
	DD	01H
	DD	FLAT:$T17862
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17848 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17848[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17849
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_No_VTOL_Secondary@@6B@
	jmp	SHORT $L17850
$L17849:
	xor	esi, esi
$L17850:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17851:
	mov	eax, DWORD PTR $T17848[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17860
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17883	DD	0ffffffffH
	DD	FLAT:$L17872
$T17881	DD	019930520H
	DD	01H
	DD	FLAT:$T17883
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17869 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17869[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17870
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $L17871
$L17870:
	xor	esi, esi
$L17871:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17872:
	mov	eax, DWORD PTR $T17869[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17881
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_No_VTOL@@6B@	; JFW_Building_Gun_Animated_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17904	DD	0ffffffffH
	DD	FLAT:$L17893
$T17902	DD	019930520H
	DD	01H
	DD	FLAT:$T17904
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17890 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17890[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17891
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_No_VTOL@@6B@
	jmp	SHORT $L17892
$L17891:
	xor	esi, esi
$L17892:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17893:
	mov	eax, DWORD PTR $T17890[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17902
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17925	DD	0ffffffffH
	DD	FLAT:$L17914
$T17923	DD	019930520H
	DD	01H
	DD	FLAT:$T17925
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17911 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17911[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17912
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_No_VTOL@@6B@
	jmp	SHORT $L17913
$L17912:
	xor	esi, esi
$L17913:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17914:
	mov	eax, DWORD PTR $T17911[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17923
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17946	DD	0ffffffffH
	DD	FLAT:$L17935
$T17944	DD	019930520H
	DD	01H
	DD	FLAT:$T17946
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17932 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17932[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17933
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_No_VTOL_Secondary@@6B@
	jmp	SHORT $L17934
$L17933:
	xor	esi, esi
$L17934:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17935:
	mov	eax, DWORD PTR $T17932[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17944
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17967	DD	0ffffffffH
	DD	FLAT:$L17956
$T17965	DD	019930520H
	DD	01H
	DD	FLAT:$T17967
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17953 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17953[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17954
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $L17955
$L17954:
	xor	esi, esi
$L17955:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17956:
	mov	eax, DWORD PTR $T17953[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17965
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_VTOL_Only@@6B@		; JFW_Building_Gun_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z	; JFW_Building_Gun_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z:NEAR	; JFW_Building_Gun_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T17988	DD	0ffffffffH
	DD	FLAT:$L17977
$T17986	DD	019930520H
	DD	01H
	DD	FLAT:$T17988
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17974 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17974[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17975
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_VTOL_Only@@6B@
	jmp	SHORT $L17976
$L17975:
	xor	esi, esi
$L17976:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17977:
	mov	eax, DWORD PTR $T17974[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T17986
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@	; JFW_Building_Gun_Weapon_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18009	DD	0ffffffffH
	DD	FLAT:$L17998
$T18007	DD	019930520H
	DD	01H
	DD	FLAT:$T18009
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@ScriptImpClass@@UAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T17995 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	28					; 0000001cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T17995[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L17996
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_VTOL_Only@@6B@
	jmp	SHORT $L17997
$L17996:
	xor	esi, esi
$L17997:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L17998:
	mov	eax, DWORD PTR $T17995[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18007
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@	; JFW_Building_Gun_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18030	DD	0ffffffffH
	DD	FLAT:$L18019
$T18028	DD	019930520H
	DD	01H
	DD	FLAT:$T18030
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18016 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18016[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18017
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18018
$L18017:
	xor	esi, esi
$L18018:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18019:
	mov	eax, DWORD PTR $T18016[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18028
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18051	DD	0ffffffffH
	DD	FLAT:$L18040
$T18049	DD	019930520H
	DD	01H
	DD	FLAT:$T18051
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18037 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18037[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18038
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18039
$L18038:
	xor	esi, esi
$L18039:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18040:
	mov	eax, DWORD PTR $T18037[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18049
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@	; JFW_Building_Gun_Animated_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18072	DD	0ffffffffH
	DD	FLAT:$L18061
$T18070	DD	019930520H
	DD	01H
	DD	FLAT:$T18072
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18058 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18058[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18059
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_VTOL_Only@@6B@
	jmp	SHORT $L18060
$L18059:
	xor	esi, esi
$L18060:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18061:
	mov	eax, DWORD PTR $T18058[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18070
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18093	DD	0ffffffffH
	DD	FLAT:$L18082
$T18091	DD	019930520H
	DD	01H
	DD	FLAT:$T18093
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18079 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18079[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18080
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only@@6B@
	jmp	SHORT $L18081
$L18080:
	xor	esi, esi
$L18081:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18082:
	mov	eax, DWORD PTR $T18079[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18091
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18114	DD	0ffffffffH
	DD	FLAT:$L18103
$T18112	DD	019930520H
	DD	01H
	DD	FLAT:$T18114
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18100 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18100[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18101
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18102
$L18101:
	xor	esi, esi
$L18102:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18103:
	mov	eax, DWORD PTR $T18100[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18112
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18135	DD	0ffffffffH
	DD	FLAT:$L18124
$T18133	DD	019930520H
	DD	01H
	DD	FLAT:$T18135
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18121 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18121[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18122
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18123
$L18122:
	xor	esi, esi
$L18123:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18124:
	mov	eax, DWORD PTR $T18121[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18133
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18156	DD	0ffffffffH
	DD	FLAT:$L18145
$T18154	DD	019930520H
	DD	01H
	DD	FLAT:$T18156
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18142 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18142[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18143
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_No_VTOL@@6B@
	jmp	SHORT $L18144
$L18143:
	xor	esi, esi
$L18144:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18145:
	mov	eax, DWORD PTR $T18142[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18154
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18177	DD	0ffffffffH
	DD	FLAT:$L18166
$T18175	DD	019930520H
	DD	01H
	DD	FLAT:$T18177
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18163 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18163[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18164
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@6B@
	jmp	SHORT $L18165
$L18164:
	xor	esi, esi
$L18165:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18166:
	mov	eax, DWORD PTR $T18163[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18175
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18198	DD	0ffffffffH
	DD	FLAT:$L18187
$T18196	DD	019930520H
	DD	01H
	DD	FLAT:$T18198
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18184 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18184[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18185
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@6B@
	jmp	SHORT $L18186
$L18185:
	xor	esi, esi
$L18186:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18187:
	mov	eax, DWORD PTR $T18184[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18196
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18219	DD	0ffffffffH
	DD	FLAT:$L18208
$T18217	DD	019930520H
	DD	01H
	DD	FLAT:$T18219
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18205 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18205[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18206
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@6B@
	jmp	SHORT $L18207
$L18206:
	xor	esi, esi
$L18207:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18208:
	mov	eax, DWORD PTR $T18205[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18217
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18240	DD	0ffffffffH
	DD	FLAT:$L18229
$T18238	DD	019930520H
	DD	01H
	DD	FLAT:$T18240
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18226 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18226[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18227
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_VTOL_Only@@6B@
	jmp	SHORT $L18228
$L18227:
	xor	esi, esi
$L18228:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18229:
	mov	eax, DWORD PTR $T18226[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18238
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18261	DD	0ffffffffH
	DD	FLAT:$L18250
$T18259	DD	019930520H
	DD	01H
	DD	FLAT:$T18261
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18247 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18247[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18248
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@6B@
	jmp	SHORT $L18249
$L18248:
	xor	esi, esi
$L18249:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18250:
	mov	eax, DWORD PTR $T18247[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18259
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18282	DD	0ffffffffH
	DD	FLAT:$L18271
$T18280	DD	019930520H
	DD	01H
	DD	FLAT:$T18282
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18268 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18268[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18269
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18270
$L18269:
	xor	esi, esi
$L18270:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18271:
	mov	eax, DWORD PTR $T18268[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18280
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18303	DD	0ffffffffH
	DD	FLAT:$L18292
$T18301	DD	019930520H
	DD	01H
	DD	FLAT:$T18303
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18289 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18289[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18290
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@6B@
	jmp	SHORT $L18291
$L18290:
	xor	esi, esi
$L18291:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18292:
	mov	eax, DWORD PTR $T18289[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18301
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound@@6B@	; JFW_Building_Gun_Animated_Sound::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z	; JFW_Building_Gun_Animated_Sound::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18324	DD	0ffffffffH
	DD	FLAT:$L18313
$T18322	DD	019930520H
	DD	01H
	DD	FLAT:$T18324
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18310 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18310[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18311
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound@@6B@
	jmp	SHORT $L18312
$L18311:
	xor	esi, esi
$L18312:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18313:
	mov	eax, DWORD PTR $T18310[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18322
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@	; JFW_Building_Gun_Animated_Sound_Weapon::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18345	DD	0ffffffffH
	DD	FLAT:$L18334
$T18343	DD	019930520H
	DD	01H
	DD	FLAT:$T18345
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18331 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18331[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18332
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon@@6B@
	jmp	SHORT $L18333
$L18332:
	xor	esi, esi
$L18333:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18334:
	mov	eax, DWORD PTR $T18331[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18343
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18366	DD	0ffffffffH
	DD	FLAT:$L18355
$T18364	DD	019930520H
	DD	01H
	DD	FLAT:$T18366
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18352 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18352[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18353
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_No_Aircraft@@6B@
	jmp	SHORT $L18354
$L18353:
	xor	esi, esi
$L18354:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18355:
	mov	eax, DWORD PTR $T18352[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18364
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18387	DD	0ffffffffH
	DD	FLAT:$L18376
$T18385	DD	019930520H
	DD	01H
	DD	FLAT:$T18387
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18373 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18373[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18374
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only@@6B@
	jmp	SHORT $L18375
$L18374:
	xor	esi, esi
$L18375:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18376:
	mov	eax, DWORD PTR $T18373[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18385
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18408	DD	0ffffffffH
	DD	FLAT:$L18397
$T18406	DD	019930520H
	DD	01H
	DD	FLAT:$T18408
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18394 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18394[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18395
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@6B@
	jmp	SHORT $L18396
$L18395:
	xor	esi, esi
$L18396:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18397:
	mov	eax, DWORD PTR $T18394[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18406
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18429	DD	0ffffffffH
	DD	FLAT:$L18418
$T18427	DD	019930520H
	DD	01H
	DD	FLAT:$T18429
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18415 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	40					; 00000028H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18415[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18416
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@6B@
	jmp	SHORT $L18417
$L18416:
	xor	esi, esi
$L18417:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18418:
	mov	eax, DWORD PTR $T18415[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18427
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18450	DD	0ffffffffH
	DD	FLAT:$L18439
$T18448	DD	019930520H
	DD	01H
	DD	FLAT:$T18450
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18436 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18436[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18437
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Secondary@@6B@
	jmp	SHORT $L18438
$L18437:
	xor	esi, esi
$L18438:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18439:
	mov	eax, DWORD PTR $T18436[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18448
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18471	DD	0ffffffffH
	DD	FLAT:$L18460
$T18469	DD	019930520H
	DD	01H
	DD	FLAT:$T18471
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18457 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18457[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18458
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@6B@
	jmp	SHORT $L18459
$L18458:
	xor	esi, esi
$L18459:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18460:
	mov	eax, DWORD PTR $T18457[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18469
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18492	DD	0ffffffffH
	DD	FLAT:$L18481
$T18490	DD	019930520H
	DD	01H
	DD	FLAT:$T18492
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18478 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18478[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18479
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L18480
$L18479:
	xor	esi, esi
$L18480:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18481:
	mov	eax, DWORD PTR $T18478[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18490
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18513	DD	0ffffffffH
	DD	FLAT:$L18502
$T18511	DD	019930520H
	DD	01H
	DD	FLAT:$T18513
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@ScriptImpClass@@UAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Action_Complete@ScriptImpClass@@UAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18499 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	32					; 00000020H
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18499[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18500
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L18501
$L18500:
	xor	esi, esi
$L18501:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18502:
	mov	eax, DWORD PTR $T18499[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18511
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18534	DD	0ffffffffH
	DD	FLAT:$L18523
$T18532	DD	019930520H
	DD	01H
	DD	FLAT:$T18534
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18520 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18520[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18521
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@6B@
	jmp	SHORT $L18522
$L18521:
	xor	esi, esi
$L18522:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18523:
	mov	eax, DWORD PTR $T18520[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18532
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::Create
PUBLIC	??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vftable'
PUBLIC	??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
EXTRN	??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z:NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vector deleting destructor'
;	COMDAT xdata$x
xdata$x	SEGMENT
$T18555	DD	0ffffffffH
	DD	FLAT:$L18544
$T18553	DD	019930520H
	DD	01H
	DD	FLAT:$T18555
	DD	2 DUP(00H)
	DD	2 DUP(00H)
xdata$x	ENDS
;	COMDAT ??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
CONST	SEGMENT
??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@ DD FLAT:??_EJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`vftable'
	DD	FLAT:?Get_Name@ScriptImpClass@@UAEPADXZ
	DD	FLAT:?Attach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Detach@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Created@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE@Z
	DD	FLAT:?Destroyed@ScriptImpClass@@UAEXPAE@Z
	DD	FLAT:?Killed@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Damaged@ScriptImpClass@@UAEXPAE0M@Z
	DD	FLAT:?Custom@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHH0@Z
	DD	FLAT:?Sound_Heard@ScriptImpClass@@UAEXPAEABUCombatSound@@@Z
	DD	FLAT:?Enemy_Seen@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAE0@Z
	DD	FLAT:?Action_Complete@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEHW4ActionCompleteReason@@@Z
	DD	FLAT:?Timer_Expired@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXPAEH@Z
	DD	FLAT:?Animation_Complete@ScriptImpClass@@UAEXPAEPBD@Z
	DD	FLAT:?Poked@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Entered@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Exited@ScriptImpClass@@UAEXPAE0@Z
	DD	FLAT:?Owner@ScriptImpClass@@UAEPAEXZ
	DD	FLAT:?Get_Owner_Ptr@ScriptImpClass@@UAEPAPAEXZ
	DD	FLAT:?Set_Parameters_String@ScriptImpClass@@UAEXPBD@Z
	DD	FLAT:?Get_Parameters_String@ScriptImpClass@@UAEXPADI@Z
	DD	FLAT:?Save@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Save_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Load_Data@ScriptImpClass@@UAEXAAE@Z
	DD	FLAT:?Register_Auto_Save_Variables@JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@EAEXXZ
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT ?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
_TEXT	SEGMENT
$T18541 = -16						; size = 4
__$EHRec$ = -12						; size = 12
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ PROC NEAR ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::Create, COMDAT
; _this$ = ecx

; 480  : {

	push	-1
	push	__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ
	mov	eax, DWORD PTR fs:__except_list
	push	eax
	mov	DWORD PTR fs:__except_list, esp
	push	ecx
	push	esi
	push	edi

; 481  : 	ScriptImpClass *scr = new T;

	push	44					; 0000002cH
	mov	edi, ecx
	call	??2@YAPAXI@Z				; operator new
	mov	esi, eax
	add	esp, 4
	mov	DWORD PTR $T18541[esp+24], esi
	test	esi, esi
	mov	DWORD PTR __$EHRec$[esp+32], 0
	je	SHORT $L18542
	mov	ecx, esi
	call	??0ScriptImpClass@@QAE@XZ		; ScriptImpClass::ScriptImpClass
	mov	DWORD PTR [esi], OFFSET FLAT:??_7JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@6B@
	jmp	SHORT $L18543
$L18542:
	xor	esi, esi
$L18543:

; 482  : 	scr->SetFactory(this);
; 483  : 	scr->Register_Auto_Save_Variables();

	mov	eax, DWORD PTR [esi]
	mov	ecx, esi
	mov	DWORD PTR __$EHRec$[esp+32], -1
	mov	DWORD PTR [esi+20], edi
	call	DWORD PTR [eax+100]

; 484  : 	return scr;
; 485  : }

	mov	ecx, DWORD PTR __$EHRec$[esp+24]
	pop	edi
	mov	eax, esi
	pop	esi
	mov	DWORD PTR fs:__except_list, ecx
	add	esp, 16					; 00000010H
	ret	0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
$L18544:
	mov	eax, DWORD PTR $T18541[ebp]
	push	eax
	call	??3@YAXPAX@Z				; operator delete
	pop	ecx
	ret	0
__ehhandler$?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ:
	mov	eax, OFFSET FLAT:$T18553
	jmp	___CxxFrameHandler
text$x	ENDS
?Create@?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAEPAVScriptImpClass@@XZ ENDP ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::Create
PUBLIC	??1JFW_Building_Gun@@UAE@XZ			; JFW_Building_Gun::~JFW_Building_Gun
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun@@UAEPAXI@Z PROC NEAR		; JFW_Building_Gun::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18561
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18561:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun@@UAEPAXI@Z ENDP			; JFW_Building_Gun::`scalar deleting destructor'
_TEXT	ENDS
EXTRN	??1ScriptImpClass@@UAE@XZ:NEAR			; ScriptImpClass::~ScriptImpClass
; Function compile flags: /Ogty
;	COMDAT ??1JFW_Building_Gun@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun@@UAE@XZ PROC NEAR			; JFW_Building_Gun::~JFW_Building_Gun, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun@@UAE@XZ ENDP			; JFW_Building_Gun::~JFW_Building_Gun
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon@@UAE@XZ		; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_Weapon::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18569
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18569:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon@@UAE@XZ PROC NEAR		; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon@@UAE@XZ ENDP			; JFW_Building_Gun_Weapon::~JFW_Building_Gun_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_Aircraft@@UAE@XZ		; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18577
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18577:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_Aircraft@@UAEPAXI@Z ENDP	; JFW_Building_Gun_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_Aircraft@@UAE@XZ PROC NEAR	; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_Aircraft@@UAE@XZ ENDP		; JFW_Building_Gun_No_Aircraft::~JFW_Building_Gun_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ	; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18585
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18585:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Aircraft_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Aircraft_Only@@UAE@XZ ENDP		; JFW_Building_Gun_Aircraft_Only::~JFW_Building_Gun_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ	; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18593
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18593:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_Aircraft@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_Aircraft@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_No_Aircraft::~JFW_Building_Gun_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18601
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18601:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Aircraft_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_Aircraft_Only::~JFW_Building_Gun_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Secondary@@UAE@XZ		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18609
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18609:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Secondary@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Secondary@@UAE@XZ PROC NEAR		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Secondary@@UAE@XZ ENDP		; JFW_Building_Gun_Secondary::~JFW_Building_Gun_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18617
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18617:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_Secondary::~JFW_Building_Gun_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18625
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18625:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_Aircraft_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_No_Aircraft_Secondary::~JFW_Building_Gun_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18633
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18633:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Aircraft_Only_Secondary::~JFW_Building_Gun_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18641
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18641:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18649
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18649:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated@@UAE@XZ		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_Animated::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18657
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18657:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated@@UAEPAXI@Z ENDP		; JFW_Building_Gun_Animated::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated@@UAE@XZ PROC NEAR		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated@@UAE@XZ ENDP		; JFW_Building_Gun_Animated::~JFW_Building_Gun_Animated
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18665
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18665:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Weapon::~JFW_Building_Gun_Animated_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18673
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18673:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_Aircraft@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_No_Aircraft::~JFW_Building_Gun_Animated_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18681
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18681:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Aircraft_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Aircraft_Only::~JFW_Building_Gun_Animated_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18689
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18689:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18697
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18697:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ	; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18705
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18705:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Secondary::~JFW_Building_Gun_Animated_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18713
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18713:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Secondary::~JFW_Building_Gun_Animated_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18721
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18721:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18729
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18729:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18737
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18737:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18745
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18745:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_VTOL@@UAE@XZ		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18753
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18753:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_VTOL@@UAEPAXI@Z ENDP		; JFW_Building_Gun_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_VTOL@@UAE@XZ PROC NEAR		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_VTOL@@UAE@XZ ENDP		; JFW_Building_Gun_No_VTOL::~JFW_Building_Gun_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ	; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18761
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18761:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_VTOL@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_VTOL@@UAE@XZ ENDP		; JFW_Building_Gun_Weapon_No_VTOL::~JFW_Building_Gun_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18769
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18769:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_No_VTOL_Secondary@@UAEPAXI@Z ENDP	; JFW_Building_Gun_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ PROC NEAR	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_No_VTOL_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_No_VTOL_Secondary::~JFW_Building_Gun_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18777
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18777:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18785
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18785:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_VTOL@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_VTOL@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_No_VTOL::~JFW_Building_Gun_Animated_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18793
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18793:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_VTOL@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18801
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18801:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_No_VTOL_Secondary::~JFW_Building_Gun_Animated_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18809
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18809:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_VTOL_Only@@UAE@XZ		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z PROC NEAR	; JFW_Building_Gun_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18817
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18817:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_VTOL_Only@@UAEPAXI@Z ENDP		; JFW_Building_Gun_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_VTOL_Only@@UAE@XZ PROC NEAR		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_VTOL_Only@@UAE@XZ ENDP		; JFW_Building_Gun_VTOL_Only::~JFW_Building_Gun_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18825
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18825:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_VTOL_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_VTOL_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Weapon_VTOL_Only::~JFW_Building_Gun_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ	; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18833
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18833:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_VTOL_Only_Secondary@@UAE@XZ ENDP	; JFW_Building_Gun_VTOL_Only_Secondary::~JFW_Building_Gun_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18841
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18841:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ	; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18849
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18849:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_VTOL_Only@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_VTOL_Only@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_VTOL_Only::~JFW_Building_Gun_Animated_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18857
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18857:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18865
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18865:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18873
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18873:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18881
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18881:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_VTOL@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_No_VTOL::~JFW_Building_Gun_Animated_Sound_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18889
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18889:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18897
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18897:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18905
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18905:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18913
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18913:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only::~JFW_Building_Gun_Animated_Sound_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18921
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18921:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18929
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18929:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18937
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18937:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound@@UAE@XZ	; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18945
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18945:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound@@UAEPAXI@Z ENDP	; JFW_Building_Gun_Animated_Sound::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound@@UAE@XZ PROC NEAR	; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound@@UAE@XZ ENDP		; JFW_Building_Gun_Animated_Sound::~JFW_Building_Gun_Animated_Sound
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18953
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18953:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon@@UAE@XZ ENDP	; JFW_Building_Gun_Animated_Sound_Weapon::~JFW_Building_Gun_Animated_Sound_Weapon
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18961
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18961:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft::~JFW_Building_Gun_Animated_Sound_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18969
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18969:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18977
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18977:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18985
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18985:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L18993
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L18993:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Secondary::~JFW_Building_Gun_Animated_Sound_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L19001
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L19001:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L19009
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L19009:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L19017
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L19017:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L19025
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L19025:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary
_TEXT	ENDS
PUBLIC	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
; Function compile flags: /Ogty
;	COMDAT ??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z
_TEXT	SEGMENT
___flags$ = 8						; size = 4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor', COMDAT
; _this$ = ecx
	push	esi
	mov	esi, ecx
	call	??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ
	test	BYTE PTR ___flags$[esp], 1
	je	SHORT $L19033
	push	esi
	call	??3@YAXPAX@Z				; operator delete
	add	esp, 4
$L19033:
	mov	eax, esi
	pop	esi
	ret	4
??_GJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAEPAXI@Z ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::`scalar deleting destructor'
; Function compile flags: /Ogty
_TEXT	ENDS
;	COMDAT ??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ
_TEXT	SEGMENT
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ PROC NEAR ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary, COMDAT
; _this$ = ecx
	jmp	??1ScriptImpClass@@UAE@XZ		; ScriptImpClass::~ScriptImpClass
??1JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@UAE@XZ ENDP ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary::~JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary
_TEXT	ENDS
PUBLIC	??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@	; `string'
EXTRN	_atexit:NEAR
CRT$XCU	SEGMENT
_$S3	DD	FLAT:_$E1
CRT$XCU	ENDS
;	COMDAT ??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
; File c:\documents and settings\owner\desktop\ssctf 1.3\jfwgun.cpp
CONST	SEGMENT
??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@
CONST	SEGMENT
??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@ DB 'JFW_Building_Gun', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E1
text$yc	SEGMENT
_$E1	PROC NEAR					; COMDAT

; 4921 : ScriptRegistrant<JFW_Building_Gun> JFW_Building_Gun_Registrant("JFW_Building_Gun","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BB@NEHPJGJL@JFW_Building_Gun?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun>::ScriptRegistrant<JFW_Building_Gun>
	push	OFFSET FLAT:_$E2
	call	_atexit
	pop	ecx
	ret	0
_$E1	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S6	DD	FLAT:_$E4
CRT$XCU	ENDS
;	COMDAT ??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E4
text$yc	SEGMENT
_$E4	PROC NEAR					; COMDAT

; 4922 : ScriptRegistrant<JFW_Building_Gun_Weapon> JFW_Building_Gun_Weapon_Registrant("JFW_Building_Gun_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0BI@LBJBBCKH@JFW_Building_Gun_Weapon?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon>::ScriptRegistrant<JFW_Building_Gun_Weapon>
	push	OFFSET FLAT:_$E5
	call	_atexit
	pop	ecx
	ret	0
_$E4	ENDP
text$yc	ENDS
PUBLIC	??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S9	DD	FLAT:_$E7
CRT$XCU	ENDS
;	COMDAT ??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,Preset1:string,Preset2:string,Preset3:stri'
	DB	'ng,Preset4:string,Preset5:string,Preset6:string,Preset7:strin'
	DB	'g,Preset8:string', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@
CONST	SEGMENT
??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@ DB 'JFW_Building_Gun'
	DB	'_No_Aircraft', 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E7
text$yc	SEGMENT
_$E7	PROC NEAR					; COMDAT

; 4923 : ScriptRegistrant<JFW_Building_Gun_No_Aircraft> JFW_Building_Gun_No_Aircraft_Registrant("JFW_Building_Gun_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BN@OKIGNCDP@JFW_Building_Gun_No_Aircraft?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft>
	push	OFFSET FLAT:_$E8
	call	_atexit
	pop	ecx
	ret	0
_$E7	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S12	DD	FLAT:_$E10
CRT$XCU	ENDS
;	COMDAT ??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@
CONST	SEGMENT
??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@ DB 'JFW_Building_G'
	DB	'un_Aircraft_Only', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E10
text$yc	SEGMENT
_$E10	PROC NEAR					; COMDAT

; 4924 : ScriptRegistrant<JFW_Building_Gun_Aircraft_Only> JFW_Building_Gun_Aircraft_Only_Registrant("JFW_Building_Gun_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BP@INBKKHDE@JFW_Building_Gun_Aircraft_Only?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only>
	push	OFFSET FLAT:_$E11
	call	_atexit
	pop	ecx
	ret	0
_$E10	ENDP
text$yc	ENDS
PUBLIC	??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S15	DD	FLAT:_$E13
CRT$XCU	ENDS
;	COMDAT ??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:st'
	DB	'ring,Preset2:string,Preset3:string,Preset4:string,Preset5:str'
	DB	'ing,Preset6:string,Preset7:string,Preset8:string', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E13
text$yc	SEGMENT
_$E13	PROC NEAR					; COMDAT

; 4925 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft> JFW_Building_Gun_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CE@DECBGIO@JFW_Building_Gun_Weapon_No_Aircr@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft>
	push	OFFSET FLAT:_$E14
	call	_atexit
	pop	ecx
	ret	0
_$E13	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S18	DD	FLAT:_$E16
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E16
text$yc	SEGMENT
_$E16	PROC NEAR					; COMDAT

; 4926 : ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only> JFW_Building_Gun_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CG@OMMNNHKA@JFW_Building_Gun_Weapon_Aircraft@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only>
	push	OFFSET FLAT:_$E17
	call	_atexit
	pop	ecx
	ret	0
_$E16	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S21	DD	FLAT:_$E19
CRT$XCU	ENDS
;	COMDAT ??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@
CONST	SEGMENT
??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@ DB 'JFW_Building_Gun_S'
	DB	'econdary', 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E19
text$yc	SEGMENT
_$E19	PROC NEAR					; COMDAT

; 4927 : ScriptRegistrant<JFW_Building_Gun_Secondary> JFW_Building_Gun_Secondary_Registrant("JFW_Building_Gun_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BL@FCGNPGJG@JFW_Building_Gun_Secondary?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Secondary>::ScriptRegistrant<JFW_Building_Gun_Secondary>
	push	OFFSET FLAT:_$E20
	call	_atexit
	pop	ecx
	ret	0
_$E19	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S24	DD	FLAT:_$E22
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E22
text$yc	SEGMENT
_$E22	PROC NEAR					; COMDAT

; 4928 : ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary> JFW_Building_Gun_Weapon_Secondary_Registrant("JFW_Building_Gun_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CC@FEMPJBHC@JFW_Building_Gun_Weapon_Secondar@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Secondary>
	push	OFFSET FLAT:_$E23
	call	_atexit
	pop	ecx
	ret	0
_$E22	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@ ; `string'
CRT$XCU	SEGMENT
_$S27	DD	FLAT:_$E25
CRT$XCU	ENDS
;	COMDAT ??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@
CONST	SEGMENT
??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@ DB 'JFW_Building_Gun'
	DB	'_No_Aircraft_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E25
text$yc	SEGMENT
_$E25	PROC NEAR					; COMDAT

; 4929 : ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary> JFW_Building_Gun_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CH@GJNINPFI@JFW_Building_Gun_No_Aircraft_Sec@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E26
	call	_atexit
	pop	ecx
	ret	0
_$E25	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@ ; `string'
CRT$XCU	SEGMENT
_$S30	DD	FLAT:_$E28
CRT$XCU	ENDS
;	COMDAT ??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@
CONST	SEGMENT
??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@ DB 'JFW_Building_Gun'
	DB	'_Aircraft_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E28
text$yc	SEGMENT
_$E28	PROC NEAR					; COMDAT

; 4930 : ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary> JFW_Building_Gun_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0NF@GFMNCMBP@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CJ@BNDCHBOA@JFW_Building_Gun_Aircraft_Only_S@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E29
	call	_atexit
	pop	ecx
	ret	0
_$E28	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S33	DD	FLAT:_$E31
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E31
text$yc	SEGMENT
_$E31	PROC NEAR					; COMDAT

; 4931 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CO@IFBDMHBC@JFW_Building_Gun_Weapon_No_Aircr@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E32
	call	_atexit
	pop	ecx
	ret	0
_$E31	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S36	DD	FLAT:_$E34
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E34
text$yc	SEGMENT
_$E34	PROC NEAR					; COMDAT

; 4932 : ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string");

	push	OFFSET FLAT:??_C@_0LH@JFGPHMAH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DA@EMIKCPC@JFW_Building_Gun_Weapon_Aircraft@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E35
	call	_atexit
	pop	ecx
	ret	0
_$E34	ENDP
text$yc	ENDS
PUBLIC	??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S39	DD	FLAT:_$E37
CRT$XCU	ENDS
;	COMDAT ??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,EffectPreset:string,EffectAnimation:string'
	DB	',EffectTime:float,EffectFrame:float', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@
CONST	SEGMENT
??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@ DB 'JFW_Building_Gun_An'
	DB	'imated', 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E37
text$yc	SEGMENT
_$E37	PROC NEAR					; COMDAT

; 4933 : ScriptRegistrant<JFW_Building_Gun_Animated> JFW_Building_Gun_Animated_Registrant("JFW_Building_Gun_Animated","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BK@NDPBDMIK@JFW_Building_Gun_Animated?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated>::ScriptRegistrant<JFW_Building_Gun_Animated>
	push	OFFSET FLAT:_$E38
	call	_atexit
	pop	ecx
	ret	0
_$E37	ENDP
text$yc	ENDS
PUBLIC	??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S42	DD	FLAT:_$E40
CRT$XCU	ENDS
;	COMDAT ??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Custo'
	DB	'm:int,Visible:int,Min_Range:float,Max_Range:float,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E40
text$yc	SEGMENT
_$E40	PROC NEAR					; COMDAT

; 4934 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon> JFW_Building_Gun_Animated_Weapon_Registrant("JFW_Building_Gun_Animated_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CB@FLLOIBBP@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon>
	push	OFFSET FLAT:_$E41
	call	_atexit
	pop	ecx
	ret	0
_$E40	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@ ; `string'
CRT$XCU	SEGMENT
_$S45	DD	FLAT:_$E43
CRT$XCU	ENDS
;	COMDAT ??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Cust'
	DB	'om:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:fl'
	DB	'oat,Max_Range:float,Preset1:string,Preset2:string,Preset3:str'
	DB	'ing,Preset4:string,Preset5:string,Preset6:string,Preset7:stri'
	DB	'ng,Preset8:string,EffectPreset:string,EffectAnimation:string,'
	DB	'EffectTime:float,EffectFrame:float', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@
CONST	SEGMENT
??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_Aircraft', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E43
text$yc	SEGMENT
_$E43	PROC NEAR					; COMDAT

; 4935 : ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft> JFW_Building_Gun_Animated_No_Aircraft_Registrant("JFW_Building_Gun_Animated_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CG@PCEEMFBL@JFW_Building_Gun_Animated_No_Air@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft>
	push	OFFSET FLAT:_$E44
	call	_atexit
	pop	ecx
	ret	0
_$E43	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@ ; `string'
CRT$XCU	SEGMENT
_$S48	DD	FLAT:_$E46
CRT$XCU	ENDS
;	COMDAT ??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@
CONST	SEGMENT
??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@ DB 'JFW_Building_Gun'
	DB	'_Animated_Aircraft_Only', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E46
text$yc	SEGMENT
_$E46	PROC NEAR					; COMDAT

; 4936 : ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only> JFW_Building_Gun_Animated_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CI@PPCBNLJH@JFW_Building_Gun_Animated_Aircra@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only>
	push	OFFSET FLAT:_$E47
	call	_atexit
	pop	ecx
	ret	0
_$E46	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S51	DD	FLAT:_$E49
CRT$XCU	ENDS
;	COMDAT ??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cus'
	DB	'tom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:s'
	DB	'tring,Preset2:string,Preset3:string,Preset4:string,Preset5:st'
	DB	'ring,Preset6:string,Preset7:string,Preset8:string,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E49
text$yc	SEGMENT
_$E49	PROC NEAR					; COMDAT

; 4937 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft> JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CN@CABLPNOJ@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft>
	push	OFFSET FLAT:_$E50
	call	_atexit
	pop	ecx
	ret	0
_$E49	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S54	DD	FLAT:_$E52
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E52
text$yc	SEGMENT
_$E52	PROC NEAR					; COMDAT

; 4938 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only> JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CP@PBKJDCGJ@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only>
	push	OFFSET FLAT:_$E53
	call	_atexit
	pop	ecx
	ret	0
_$E52	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@ ; `string'
CRT$XCU	SEGMENT
_$S57	DD	FLAT:_$E55
CRT$XCU	ENDS
;	COMDAT ??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@
CONST	SEGMENT
??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@ DB 'JFW_Building_Gun'
	DB	'_Animated_Secondary', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E55
text$yc	SEGMENT
_$E55	PROC NEAR					; COMDAT

; 4939 : ScriptRegistrant<JFW_Building_Gun_Animated_Secondary> JFW_Building_Gun_Animated_Secondary_Registrant("JFW_Building_Gun_Animated_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CE@GIJNLNFE@JFW_Building_Gun_Animated_Second@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Secondary>
	push	OFFSET FLAT:_$E56
	call	_atexit
	pop	ecx
	ret	0
_$E55	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S60	DD	FLAT:_$E58
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E58
text$yc	SEGMENT
_$E58	PROC NEAR					; COMDAT

; 4940 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary> JFW_Building_Gun_Animated_Weapon_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CL@LNHAKNOH@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Secondary>
	push	OFFSET FLAT:_$E59
	call	_atexit
	pop	ecx
	ret	0
_$E58	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@ ; `string'
CRT$XCU	SEGMENT
_$S63	DD	FLAT:_$E61
CRT$XCU	ENDS
;	COMDAT ??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@
CONST	SEGMENT
??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_Aircraft_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E61
text$yc	SEGMENT
_$E61	PROC NEAR					; COMDAT

; 4941 : ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary> JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DA@ILHNMBKJ@JFW_Building_Gun_Animated_No_Air@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E62
	call	_atexit
	pop	ecx
	ret	0
_$E61	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@ ; `string'
CRT$XCU	SEGMENT
_$S66	DD	FLAT:_$E64
CRT$XCU	ENDS
;	COMDAT ??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@
CONST	SEGMENT
??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@ DB 'JFW_Building_Gun'
	DB	'_Animated_Aircraft_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E64
text$yc	SEGMENT
_$E64	PROC NEAR					; COMDAT

; 4942 : ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BCD@BDNHIOCO@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DC@OKJKHONK@JFW_Building_Gun_Animated_Aircra@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E65
	call	_atexit
	pop	ecx
	ret	0
_$E64	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S69	DD	FLAT:_$E67
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E67
text$yc	SEGMENT
_$E67	PROC NEAR					; COMDAT

; 4943 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DH@LKHHAMMB@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E68
	call	_atexit
	pop	ecx
	ret	0
_$E67	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S72	DD	FLAT:_$E70
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E70
text$yc	SEGMENT
_$E70	PROC NEAR					; COMDAT

; 4944 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0BAF@BKNNPAFG@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DJ@KCGLBAHC@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E71
	call	_atexit
	pop	ecx
	ret	0
_$E70	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S75	DD	FLAT:_$E73
CRT$XCU	ENDS
;	COMDAT ??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@
CONST	SEGMENT
??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@ DB 'JFW_Building_Gun_No_'
	DB	'VTOL', 00H					; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E73
text$yc	SEGMENT
_$E73	PROC NEAR					; COMDAT

; 4945 : ScriptRegistrant<JFW_Building_Gun_No_VTOL> JFW_Building_Gun_No_VTOL_Registrant("JFW_Building_Gun_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BJ@LNBPDNBA@JFW_Building_Gun_No_VTOL?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_No_VTOL>
	push	OFFSET FLAT:_$E74
	call	_atexit
	pop	ecx
	ret	0
_$E73	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S78	DD	FLAT:_$E76
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E76
text$yc	SEGMENT
_$E76	PROC NEAR					; COMDAT

; 4946 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL> JFW_Building_Gun_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CA@GOLIDHAM@JFW_Building_Gun_Weapon_No_VTOL?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL>
	push	OFFSET FLAT:_$E77
	call	_atexit
	pop	ecx
	ret	0
_$E76	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@ ; `string'
CRT$XCU	SEGMENT
_$S81	DD	FLAT:_$E79
CRT$XCU	ENDS
;	COMDAT ??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@
CONST	SEGMENT
??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@ DB 'JFW_Building_Gun'
	DB	'_No_VTOL_Secondary', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E79
text$yc	SEGMENT
_$E79	PROC NEAR					; COMDAT

; 4947 : ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary> JFW_Building_Gun_No_VTOL_Secondary_Registrant("JFW_Building_Gun_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CD@OELMLBNM@JFW_Building_Gun_No_VTOL_Seconda@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E80
	call	_atexit
	pop	ecx
	ret	0
_$E79	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S84	DD	FLAT:_$E82
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E82
text$yc	SEGMENT
_$E82	PROC NEAR					; COMDAT

; 4948 : ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CK@HGKDKNGJ@JFW_Building_Gun_Weapon_No_VTOL_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E83
	call	_atexit
	pop	ecx
	ret	0
_$E82	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@ ; `string'
CRT$XCU	SEGMENT
_$S87	DD	FLAT:_$E85
CRT$XCU	ENDS
;	COMDAT ??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@
CONST	SEGMENT
??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_VTOL', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E85
text$yc	SEGMENT
_$E85	PROC NEAR					; COMDAT

; 4949 : ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL> JFW_Building_Gun_Animated_No_VTOL_Registrant("JFW_Building_Gun_Animated_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CC@HIEPCJDN@JFW_Building_Gun_Animated_No_VTO@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL>
	push	OFFSET FLAT:_$E86
	call	_atexit
	pop	ecx
	ret	0
_$E85	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S90	DD	FLAT:_$E88
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E88
text$yc	SEGMENT
_$E88	PROC NEAR					; COMDAT

; 4950 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL> JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Animated_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CJ@CBBFPOCC@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL>
	push	OFFSET FLAT:_$E89
	call	_atexit
	pop	ecx
	ret	0
_$E88	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@ ; `string'
CRT$XCU	SEGMENT
_$S93	DD	FLAT:_$E91
CRT$XCU	ENDS
;	COMDAT ??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@
CONST	SEGMENT
??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@ DB 'JFW_Building_Gun'
	DB	'_Animated_No_VTOL_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E91
text$yc	SEGMENT
_$E91	PROC NEAR					; COMDAT

; 4951 : ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary> JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CM@GEDAGJCL@JFW_Building_Gun_Animated_No_VTO@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E92
	call	_atexit
	pop	ecx
	ret	0
_$E91	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S96	DD	FLAT:_$E94
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E94
text$yc	SEGMENT
_$E94	PROC NEAR					; COMDAT

; 4952 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DD@LAFINMNE@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E95
	call	_atexit
	pop	ecx
	ret	0
_$E94	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S99	DD	FLAT:_$E97
CRT$XCU	ENDS
;	COMDAT ??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@
CONST	SEGMENT
??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@ DB 'JFW_Building_Gun_V'
	DB	'TOL_Only', 00H				; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E97
text$yc	SEGMENT
_$E97	PROC NEAR					; COMDAT

; 4953 : ScriptRegistrant<JFW_Building_Gun_VTOL_Only> JFW_Building_Gun_VTOL_Only_Registrant("JFW_Building_Gun_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0BL@OKGOOJGK@JFW_Building_Gun_VTOL_Only?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only>
	push	OFFSET FLAT:_$E98
	call	_atexit
	pop	ecx
	ret	0
_$E97	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S102	DD	FLAT:_$E100
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E100
text$yc	SEGMENT
_$E100	PROC NEAR					; COMDAT

; 4954 : ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only> JFW_Building_Gun_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CC@OMMMIOIO@JFW_Building_Gun_Weapon_VTOL_Onl@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only>
	push	OFFSET FLAT:_$E101
	call	_atexit
	pop	ecx
	ret	0
_$E100	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@ ; `string'
CRT$XCU	SEGMENT
_$S105	DD	FLAT:_$E103
CRT$XCU	ENDS
;	COMDAT ??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@
CONST	SEGMENT
??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@ DB 'JFW_Building_Gun'
	DB	'_VTOL_Only_Secondary', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E103
text$yc	SEGMENT
_$E103	PROC NEAR					; COMDAT

; 4955 : ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary> JFW_Building_Gun_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0FN@KCAOGJMA@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CF@MKLEPCIP@JFW_Building_Gun_VTOL_Only_Secon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E104
	call	_atexit
	pop	ecx
	ret	0
_$E103	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S108	DD	FLAT:_$E106
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E106
text$yc	SEGMENT
_$E106	PROC NEAR					; COMDAT

; 4956 : ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float");

	push	OFFSET FLAT:??_C@_0DP@KNJJPJKK@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CM@EHAHGGCC@JFW_Building_Gun_Weapon_VTOL_Onl@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Weapon_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E107
	call	_atexit
	pop	ecx
	ret	0
_$E106	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@ ; `string'
CRT$XCU	SEGMENT
_$S111	DD	FLAT:_$E109
CRT$XCU	ENDS
;	COMDAT ??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@
CONST	SEGMENT
??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@ DB 'JFW_Building_Gun'
	DB	'_Animated_VTOL_Only', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E109
text$yc	SEGMENT
_$E109	PROC NEAR					; COMDAT

; 4957 : ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only> JFW_Building_Gun_Animated_VTOL_Only_Registrant("JFW_Building_Gun_Animated_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CE@NAJOKCKI@JFW_Building_Gun_Animated_VTOL_O@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only>
	push	OFFSET FLAT:_$E110
	call	_atexit
	pop	ecx
	ret	0
_$E109	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S114	DD	FLAT:_$E112
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E112
text$yc	SEGMENT
_$E112	PROC NEAR					; COMDAT

; 4958 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only> JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CL@FHDLCBL@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only>
	push	OFFSET FLAT:_$E113
	call	_atexit
	pop	ecx
	ret	0
_$E112	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@ ; `string'
CRT$XCU	SEGMENT
_$S117	DD	FLAT:_$E115
CRT$XCU	ENDS
;	COMDAT ??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@
CONST	SEGMENT
??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@ DB 'JFW_Building_Gun'
	DB	'_Animated_VTOL_Only_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E115
text$yc	SEGMENT
_$E115	PROC NEAR					; COMDAT

; 4959 : ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary> JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0KL@OANMDDDG@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CO@BJEBFPJP@JFW_Building_Gun_Animated_VTOL_O@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E116
	call	_atexit
	pop	ecx
	ret	0
_$E115	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S120	DD	FLAT:_$E118
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E118
text$yc	SEGMENT
_$E118	PROC NEAR					; COMDAT

; 4960 : ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float");

	push	OFFSET FLAT:??_C@_0IN@MENGCPH@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DF@DBGODBIG@JFW_Building_Gun_Animated_Weapon@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E119
	call	_atexit
	pop	ecx
	ret	0
_$E118	ENDP
text$yc	ENDS
PUBLIC	??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S123	DD	FLAT:_$E121
CRT$XCU	ENDS
;	COMDAT ??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Custo'
	DB	'm:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:flo'
	DB	'at,Max_Range:float,EffectPreset:string,EffectAnimation:string'
	DB	',EffectTime:float,EffectFrame:float,Sound:string', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_VTOL', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E121
text$yc	SEGMENT
_$E121	PROC NEAR					; COMDAT

; 4961 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL> JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant("JFW_Building_Gun_Animated_Sound_No_VTOL","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CI@IOEBNEAC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL>
	push	OFFSET FLAT:_$E122
	call	_atexit
	pop	ecx
	ret	0
_$E121	ENDP
text$yc	ENDS
PUBLIC	??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S126	DD	FLAT:_$E124
CRT$XCU	ENDS
;	COMDAT ??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cust'
	DB	'om:int,Visible:int,Min_Range:float,Max_Range:float,EffectPres'
	DB	'et:string,EffectAnimation:string,EffectTime:float,EffectFrame'
	DB	':float,Sound:string', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E124
text$yc	SEGMENT
_$E124	PROC NEAR					; COMDAT

; 4962 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL> JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CP@MKAPNGEE@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL>
	push	OFFSET FLAT:_$E125
	call	_atexit
	pop	ecx
	ret	0
_$E124	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S129	DD	FLAT:_$E127
CRT$XCU	ENDS
;	COMDAT ??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_VTOL_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E127
text$yc	SEGMENT
_$E127	PROC NEAR					; COMDAT

; 4963 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary> JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DC@IIFFIJIC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E128
	call	_atexit
	pop	ecx
	ret	0
_$E127	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S132	DD	FLAT:_$E130
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E130
text$yc	SEGMENT
_$E130	PROC NEAR					; COMDAT

; 4964 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DJ@LJFEFHFG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary>
	push	OFFSET FLAT:_$E131
	call	_atexit
	pop	ecx
	ret	0
_$E130	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S135	DD	FLAT:_$E133
CRT$XCU	ENDS
;	COMDAT ??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_VTOL_Only', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E133
text$yc	SEGMENT
_$E133	PROC NEAR					; COMDAT

; 4965 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only> JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Sound_VTOL_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CK@ELEMPADL@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only>
	push	OFFSET FLAT:_$E134
	call	_atexit
	pop	ecx
	ret	0
_$E133	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S138	DD	FLAT:_$E136
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E136
text$yc	SEGMENT
_$E136	PROC NEAR					; COMDAT

; 4966 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only> JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DB@DGBDNNK@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only>
	push	OFFSET FLAT:_$E137
	call	_atexit
	pop	ecx
	ret	0
_$E136	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S141	DD	FLAT:_$E139
CRT$XCU	ENDS
;	COMDAT ??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_VTOL_Only_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E139
text$yc	SEGMENT
_$E139	PROC NEAR					; COMDAT

; 4967 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DE@MGIOFGCC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E140
	call	_atexit
	pop	ecx
	ret	0
_$E139	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S144	DD	FLAT:_$E142
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E142
text$yc	SEGMENT
_$E142	PROC NEAR					; COMDAT

; 4968 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DL@ECLBJIOL@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary>
	push	OFFSET FLAT:_$E143
	call	_atexit
	pop	ecx
	ret	0
_$E142	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@ ; `string'
CRT$XCU	SEGMENT
_$S147	DD	FLAT:_$E145
CRT$XCU	ENDS
;	COMDAT ??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@
CONST	SEGMENT
??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@ DB 'JFW_Building_'
	DB	'Gun_Animated_Sound', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E145
text$yc	SEGMENT
_$E145	PROC NEAR					; COMDAT

; 4969 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound> JFW_Building_Gun_Animated_Sound_Registrant("JFW_Building_Gun_Animated_Sound","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CA@DBDDIDCO@JFW_Building_Gun_Animated_Sound?$AA@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound>
	push	OFFSET FLAT:_$E146
	call	_atexit
	pop	ecx
	ret	0
_$E145	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S150	DD	FLAT:_$E148
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E148
text$yc	SEGMENT
_$E148	PROC NEAR					; COMDAT

; 4970 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon> JFW_Building_Gun_Animated_Sound_Weapon_Registrant("JFW_Building_Gun_Animated_Sound_Weapon","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0CH@OMGFOFMK@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon>
	push	OFFSET FLAT:_$E149
	call	_atexit
	pop	ecx
	ret	0
_$E148	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@ ; `string'
PUBLIC	??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S153	DD	FLAT:_$E151
CRT$XCU	ENDS
;	COMDAT ??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
CONST	SEGMENT
??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@ DB 'Disable_Cust'
	DB	'om:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:fl'
	DB	'oat,Max_Range:float,Preset1:string,Preset2:string,Preset3:str'
	DB	'ing,Preset4:string,Preset5:string,Preset6:string,Preset7:stri'
	DB	'ng,Preset8:string,EffectPreset:string,EffectAnimation:string,'
	DB	'EffectTime:float,EffectFrame:float,Sound:string', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_Aircraft', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E151
text$yc	SEGMENT
_$E151	PROC NEAR					; COMDAT

; 4971 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft> JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Sound_No_Aircraft","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CM@CNENLHMI@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft>
	push	OFFSET FLAT:_$E152
	call	_atexit
	pop	ecx
	ret	0
_$E151	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S156	DD	FLAT:_$E154
CRT$XCU	ENDS
;	COMDAT ??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Aircraft_Only', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E154
text$yc	SEGMENT
_$E154	PROC NEAR					; COMDAT

; 4972 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only> JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Sound_Aircraft_Only","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CO@OLDPICFC@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only>
	push	OFFSET FLAT:_$E155
	call	_atexit
	pop	ecx
	ret	0
_$E154	ENDP
text$yc	ENDS
PUBLIC	??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@ ; `string'
CRT$XCU	SEGMENT
_$S159	DD	FLAT:_$E157
CRT$XCU	ENDS
;	COMDAT ??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
CONST	SEGMENT
??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@ DB 'Disable_Cus'
	DB	'tom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:s'
	DB	'tring,Preset2:string,Preset3:string,Preset4:string,Preset5:st'
	DB	'ring,Preset6:string,Preset7:string,Preset8:string,EffectPrese'
	DB	't:string,EffectAnimation:string,EffectTime:float,EffectFrame:'
	DB	'float,Sound:string', 00H			; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E157
text$yc	SEGMENT
_$E157	PROC NEAR					; COMDAT

; 4973 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft> JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DD@IPPNIDEF@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft>
	push	OFFSET FLAT:_$E158
	call	_atexit
	pop	ecx
	ret	0
_$E157	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S162	DD	FLAT:_$E160
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E160
text$yc	SEGMENT
_$E160	PROC NEAR					; COMDAT

; 4974 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only> JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DF@EEKGDCFB@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only>
	push	OFFSET FLAT:_$E161
	call	_atexit
	pop	ecx
	ret	0
_$E160	ENDP
text$yc	ENDS
PUBLIC	??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S165	DD	FLAT:_$E163
CRT$XCU	ENDS
;	COMDAT ??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Secondary', 00H		; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E163
text$yc	SEGMENT
_$E163	PROC NEAR					; COMDAT

; 4975 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary> JFW_Building_Gun_Animated_Sound_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0LI@EKLICAFK@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0CK@PDEPOPMH@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Secondary>
	push	OFFSET FLAT:_$E164
	call	_atexit
	pop	ecx
	ret	0
_$E163	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S168	DD	FLAT:_$E166
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E166
text$yc	SEGMENT
_$E166	PROC NEAR					; COMDAT

; 4976 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0JK@BIFAJIGL@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DB@LLGCCCCG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Secondary>
	push	OFFSET FLAT:_$E167
	call	_atexit
	pop	ecx
	ret	0
_$E166	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S171	DD	FLAT:_$E169
CRT$XCU	ENDS
;	COMDAT ??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_No_Aircraft_Secondary', 00H	; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E169
text$yc	SEGMENT
_$E169	PROC NEAR					; COMDAT

; 4977 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DG@KDMKHGDH@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E170
	call	_atexit
	pop	ecx
	ret	0
_$E169	ENDP
text$yc	ENDS
PUBLIC	??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@ ; `string'
CRT$XCU	SEGMENT
_$S174	DD	FLAT:_$E172
CRT$XCU	ENDS
;	COMDAT ??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@
CONST	SEGMENT
??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@ DB 'JFW_Building_Gun'
	DB	'_Animated_Sound_Aircraft_Only_Secondary', 00H ; `string'
; Function compile flags: /Ogty
CONST	ENDS
;	COMDAT _$E172
text$yc	SEGMENT
_$E172	PROC NEAR					; COMDAT

; 4978 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary","Disable_Custom:int,Positon:vector3,Weapon:string,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BDA@JGKHLNDJ@Disable_Custom?3int?0Positon?3vecto@
	push	OFFSET FLAT:??_C@_0DI@FAFNNHNG@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E173
	call	_atexit
	pop	ecx
	ret	0
_$E172	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S177	DD	FLAT:_$E175
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E175
text$yc	SEGMENT
_$E175	PROC NEAR					; COMDAT

; 4979 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DN@MFCOHBLI@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary>
	push	OFFSET FLAT:_$E176
	call	_atexit
	pop	ecx
	ret	0
_$E175	ENDP
text$yc	ENDS
CRT$XCU	SEGMENT
_$S180	DD	FLAT:_$E178
; Function compile flags: /Ogty
CRT$XCU	ENDS
;	COMDAT _$E178
text$yc	SEGMENT
_$E178	PROC NEAR					; COMDAT

; 4980 : ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary> JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant("JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary","Disable_Custom:int,Visible:int,Min_Range:float,Max_Range:float,Preset1:string,Preset2:string,Preset3:string,Preset4:string,Preset5:string,Preset6:string,Preset7:string,Preset8:string,EffectPreset:string,EffectAnimation:string,EffectTime:float,EffectFrame:float,Sound:string");

	push	OFFSET FLAT:??_C@_0BBC@KFJBDDHE@Disable_Custom?3int?0Visible?3int?0M@
	push	OFFSET FLAT:??_C@_0DP@HCCCKABF@JFW_Building_Gun_Animated_Sound_@
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A
	call	??0?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@QAE@PAD0@Z ; ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>::ScriptRegistrant<JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary>
	push	OFFSET FLAT:_$E179
	call	_atexit
	pop	ecx
	ret	0
_$E178	ENDP
; Function compile flags: /Ogty
text$yc	ENDS
;	COMDAT _$E2
text$yd	SEGMENT
_$E2	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun@@@@UAE@XZ
_$E2	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E5
text$yd	SEGMENT
_$E5	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@UAE@XZ
_$E5	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E8
text$yd	SEGMENT
_$E8	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@UAE@XZ
_$E8	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E11
text$yd	SEGMENT
_$E11	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@UAE@XZ
_$E11	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E14
text$yd	SEGMENT
_$E14	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@UAE@XZ
_$E14	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E17
text$yd	SEGMENT
_$E17	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@UAE@XZ
_$E17	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E20
text$yd	SEGMENT
_$E20	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@UAE@XZ
_$E20	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E23
text$yd	SEGMENT
_$E23	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@UAE@XZ
_$E23	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E26
text$yd	SEGMENT
_$E26	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@UAE@XZ
_$E26	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E29
text$yd	SEGMENT
_$E29	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@UAE@XZ
_$E29	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E32
text$yd	SEGMENT
_$E32	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_$E32	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E35
text$yd	SEGMENT
_$E35	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_$E35	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E38
text$yd	SEGMENT
_$E38	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@UAE@XZ
_$E38	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E41
text$yd	SEGMENT
_$E41	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@UAE@XZ
_$E41	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E44
text$yd	SEGMENT
_$E44	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@UAE@XZ
_$E44	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E47
text$yd	SEGMENT
_$E47	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@UAE@XZ
_$E47	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E50
text$yd	SEGMENT
_$E50	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@UAE@XZ
_$E50	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E53
text$yd	SEGMENT
_$E53	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@UAE@XZ
_$E53	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E56
text$yd	SEGMENT
_$E56	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@UAE@XZ
_$E56	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E59
text$yd	SEGMENT
_$E59	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@UAE@XZ
_$E59	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E62
text$yd	SEGMENT
_$E62	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@UAE@XZ
_$E62	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E65
text$yd	SEGMENT
_$E65	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@UAE@XZ
_$E65	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E68
text$yd	SEGMENT
_$E68	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_$E68	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E71
text$yd	SEGMENT
_$E71	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_$E71	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E74
text$yd	SEGMENT
_$E74	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@UAE@XZ
_$E74	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E77
text$yd	SEGMENT
_$E77	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@UAE@XZ
_$E77	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E80
text$yd	SEGMENT
_$E80	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@UAE@XZ
_$E80	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E83
text$yd	SEGMENT
_$E83	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_$E83	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E86
text$yd	SEGMENT
_$E86	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@UAE@XZ
_$E86	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E89
text$yd	SEGMENT
_$E89	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@UAE@XZ
_$E89	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E92
text$yd	SEGMENT
_$E92	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@UAE@XZ
_$E92	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E95
text$yd	SEGMENT
_$E95	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_$E95	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E98
text$yd	SEGMENT
_$E98	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@UAE@XZ
_$E98	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E101
text$yd	SEGMENT
_$E101	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@UAE@XZ
_$E101	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E104
text$yd	SEGMENT
_$E104	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@UAE@XZ
_$E104	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E107
text$yd	SEGMENT
_$E107	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_$E107	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E110
text$yd	SEGMENT
_$E110	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@UAE@XZ
_$E110	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E113
text$yd	SEGMENT
_$E113	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@UAE@XZ
_$E113	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E116
text$yd	SEGMENT
_$E116	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@UAE@XZ
_$E116	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E119
text$yd	SEGMENT
_$E119	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_$E119	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E122
text$yd	SEGMENT
_$E122	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@UAE@XZ
_$E122	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E125
text$yd	SEGMENT
_$E125	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@UAE@XZ
_$E125	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E128
text$yd	SEGMENT
_$E128	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@UAE@XZ
_$E128	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E131
text$yd	SEGMENT
_$E131	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@UAE@XZ
_$E131	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E134
text$yd	SEGMENT
_$E134	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@UAE@XZ
_$E134	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E137
text$yd	SEGMENT
_$E137	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@UAE@XZ
_$E137	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E140
text$yd	SEGMENT
_$E140	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@UAE@XZ
_$E140	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E143
text$yd	SEGMENT
_$E143	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@UAE@XZ
_$E143	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E146
text$yd	SEGMENT
_$E146	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@UAE@XZ
_$E146	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E149
text$yd	SEGMENT
_$E149	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@UAE@XZ
_$E149	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E152
text$yd	SEGMENT
_$E152	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@UAE@XZ
_$E152	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E155
text$yd	SEGMENT
_$E155	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@UAE@XZ
_$E155	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E158
text$yd	SEGMENT
_$E158	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@UAE@XZ
_$E158	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E161
text$yd	SEGMENT
_$E161	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@UAE@XZ
_$E161	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E164
text$yd	SEGMENT
_$E164	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@UAE@XZ
_$E164	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E167
text$yd	SEGMENT
_$E167	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@UAE@XZ
_$E167	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E170
text$yd	SEGMENT
_$E170	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@UAE@XZ
_$E170	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E173
text$yd	SEGMENT
_$E173	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@UAE@XZ
_$E173	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E176
text$yd	SEGMENT
_$E176	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@UAE@XZ
_$E176	ENDP
; Function compile flags: /Ogty
text$yd	ENDS
;	COMDAT _$E179
text$yd	SEGMENT
_$E179	PROC NEAR					; COMDAT
	mov	ecx, OFFSET FLAT:?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A
	jmp	??1?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@UAE@XZ
_$E179	ENDP
text$yd	ENDS
PUBLIC	?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A ; JFW_Building_Gun_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A ; JFW_Building_Gun_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A ; JFW_Building_Gun_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A ; JFW_Building_Gun_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A ; JFW_Building_Gun_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
PUBLIC	?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A ; JFW_Building_Gun_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A ; JFW_Building_Gun_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A ; JFW_Building_Gun_Animated_Sound_Registrant
PUBLIC	?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A ; JFW_Building_Gun_Animated_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A ; JFW_Building_Gun_Animated_Weapon_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A ; JFW_Building_Gun_Animated_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A ; JFW_Building_Gun_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
PUBLIC	?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
PUBLIC	?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
_BSS	SEGMENT
?JFW_Building_Gun_Animated_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_VTOL_Registrant
?JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_VTOL_Only_Registrant
?JFW_Building_Gun_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Registrant
?JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_VTOL_Registrant
?JFW_Building_Gun_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Registrant
?JFW_Building_Gun_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Registrant
?JFW_Building_Gun_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_VTOL_Only_Secondary_Registrant
?JFW_Building_Gun_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Registrant
?JFW_Building_Gun_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Registrant
?JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Registrant
?JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Weapon_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Secondary_Registrant
?JFW_Building_Gun_Animated_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Registrant
?JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Registrant
?JFW_Building_Gun_Animated_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Sound_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Secondary_Registrant
?JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_No_Aircraft_Secondary_Registrant
?JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Animated_Weapon_Aircraft_Only_Secondary_Registrant
?JFW_Building_Gun_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_VTOL_Registrant
?JFW_Building_Gun_Weapon_No_VTOL_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_VTOL_Registrant
?JFW_Building_Gun_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_No_VTOL_Secondary_Registrant
?JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant@@3V?$ScriptRegistrant@VJFW_Building_Gun_Weapon_No_VTOL_Secondary@@@@A DB 010H DUP (?) ; JFW_Building_Gun_Weapon_No_VTOL_Secondary_Registrant
_BSS	ENDS
END
