亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sentient.h

?? this keik game source
?? H
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/sentient.h                       $
// $Revision:: 70                                                             $
//   $Author:: Markd                                                          $
//     $Date:: 11/16/98 8:59p                                                 $
//
// Copyright (C) 1997 by Ritual Entertainment, Inc.
// All rights reserved.
//
// This source is may not be distributed and/or modified without
// expressly written permission by Ritual Entertainment, Inc.
//
// $Log:: /Quake 2 Engine/Sin/code/game/sentient.h                            $
// 
// 70    11/16/98 8:59p Markd
// Added TakeItem event to header
// 
// 69    11/13/98 10:21p Aldie
// Added event take item
// 
// 68    11/09/98 6:22p Markd
// Added dropweaponnow event
// 
// 67    10/26/98 8:48p Jimdose
// exported EV_Sentient_WeaponUse and EV_Sentient_SetDropWeapon
// 
// 66    10/25/98 11:53p Jimdose
// added EXPORT_TEMPLATE
// 
// 65    10/22/98 2:38a Aldie
// Added setdropweapon command for sentients
// 
// 64    10/20/98 11:23p Jimdose
// added ignore to BestWeapon
// 
// 63    10/20/98 8:06p Aldie
// Added a DoGib function to ease readability
// 
// 62    10/18/98 6:42p Markd
// Added WeaponKnockedFromHands method
// 
// 61    10/16/98 3:10a Aldie
// Added armordouble
// 
// 60    10/14/98 1:33a Jimdose
// Got cross-level persitant data working
// 
// 59    10/11/98 8:58p Aldie
// Moved fields to sentient
// 
// 58    10/10/98 5:58p Aldie
// More quantumdestab fixes
// 
// 57    10/04/98 10:28p Aldie
// Added multiple weapon changes.  Damage, flashes, quantum stuff
// 
// 56    10/03/98 7:27p Markd
// working on swimming character and redid some weapon aiming stuff
// 
// 55    9/22/98 12:15p Aldie
// Added sentientFrozen
// 
// 54    9/21/98 6:05p Markd
// added archive and unarchive functions
// 
// 53    9/21/98 1:55a Aldie
// Moved some vars to sentient
// 
// 52    9/18/98 9:55p Markd
// Added noshadow event
// 
// 51    9/11/98 2:50p Aldie
// Added releasefiring functionality
// 
// 50    9/02/98 11:08a Markd
// Put in setModel into Sentient so that weapon could be properly detached and
// re-attached again.
// 
// 49    8/31/98 5:46p Aldie
// Powerup timer stuff
// 
// 48    8/31/98 1:55p Markd
// weapons no longer double trigger animations
// 
// 47    8/29/98 7:24p Aldie
// Added a givetargetname function
// 
// 46    8/29/98 5:55p Jimdose
// Moved prototype of ResetBloodSplats into sentient.h
// 
// 45    8/29/98 2:53p Aldie
// Updated printing of location based damage
// 
// 44    8/27/98 6:00p Aldie
// Drop inventory items if the actors are gibbed.
// 
// 43    8/14/98 5:48p Aldie
// Moved bloodsplats to sentient
// 
// 42    8/12/98 4:20p Aldie
// Fixed icons not showing up correctly
// 
// 41    7/31/98 4:20p Jimdose
// Externed a few events
// 
// 40    7/25/98 2:11a Jimdose
// Added SentientList
// 
// 39    7/24/98 6:16p Aldie
// Added check for inventory items
// 
// 38    7/24/98 4:13p Aldie
// Externed an event
// 
// 37    7/24/98 3:50p Aldie
// added uselesscheck
// 
// 36    7/19/98 5:42p Markd
// Added TakeItem support
// 
// 35    7/19/98 5:21p Markd
// Added ForceChangeWeapon
// 
// 34    7/17/98 4:04p Markd
// Added CanChangeWeapons
// 
// 33    7/14/98 6:59p Aldie
// Updated health
// 
// 32    6/25/98 8:48p Markd
// Rewrote Item class, added keyed items to triggers, cleaned up item system
// 
// 31    6/25/98 12:43p Aldie
// Added a method to get the number of inventory items
// 
// 30    6/24/98 1:39p Aldie
// Implementation of inventory system and picking stuff up
// 
// 29    6/20/98 7:50p Markd
// Added gun_bone_group_name variable
// 
// 28    6/19/98 9:28p Jimdose
// Added GetGunOrientation
// 
// 27    6/19/98 6:39p Aldie
// Updated item stuff
// 
// 26    6/18/98 9:29p Aldie
// Started inventory system
// 
// 25    6/17/98 1:18a Jimdose
// Changed attack to FireWeapon
// Removed include of item.h
// 
// 24    6/15/98 9:12p Aldie
// Made a give generic and an function that updates silenced weapons
// 
// 23    6/10/98 2:10p Aldie
// Updated damage function.
// 
// 22    6/05/98 6:27p Aldie
// Added armor stuff
// 
// 21    5/26/98 4:46p Aldie
// added take functions
// 
// 20    5/20/98 6:38p Jimdose
// Made anim functions use const char *
// 
// 19    5/13/98 4:53p Jimdose
// now uses SafePtrs
// 
// 18    4/07/98 6:47p Jimdose
// Rewrote weapon code
// 
// 17    3/30/98 2:38p Jimdose
// Added Ammo
// Added weapon dropping
// 
// 16    3/29/98 10:01p Jimdose
// Added animation control functions
// 
// 15    3/27/98 5:38p Jimdose
// Added FreeInventory
// 
// 14    3/23/98 1:33p Jimdose
// Revamped event and command system
// 
// 13    3/18/98 7:23p Jimdose
// Added code for handling readying and putting away weapons
// 
// 12    3/02/98 8:49p Jimdose
// Changed CLASS_PROTOTYPE to only take the classname
// 
// 11    3/02/98 5:38p Jimdose
// Added destructor.
// Changed Container to a template
// 
// 10    2/19/98 2:36p Jimdose
// Added weapons back in
// 
// 9     2/17/98 6:58p Jimdose
// no longer pass script into interpretCommand
// 
// 8     2/03/98 10:51a Jimdose
// Updated to work with Quake 2 engine
// Moved initialization to constructor and removed Init function
// 
// 6     12/09/97 7:41p Markd
// Added NumWeapons and WeaponNumber functions
// 
// 5     11/15/97 6:54p Markd
// Added InterpretCommand
// 
// 4     11/12/97 5:12p Jimdose
// Added event definitions
// 
// 3     10/27/97 2:59p Jimdose
// Removed dependency on quakedef.h
// 
// 2     9/26/97 6:47p Jimdose
// Added standard Ritual headers
//
// DESCRIPTION:
// Base class of entity that can carry other entities, and use weapons.
//

#ifndef __SENTIENT_H__
#define __SENTIENT_H__

#include "g_local.h"
#include "entity.h"
#include "container.h"

extern Event EV_Sentient_Attack;
extern Event EV_Sentient_ReleaseAttack;
extern Event EV_Sentient_GiveWeapon;
extern Event EV_Sentient_GiveAmmo;
extern Event EV_Sentient_TakeAmmo;
extern Event EV_Sentient_GiveArmor;
extern Event EV_Sentient_TakeArmor;
extern Event EV_Sentient_TakeItem;
extern Event EV_Sentient_GiveItem;
extern Event EV_Sentient_GiveInventoryItem;
extern Event EV_Sentient_GiveHealth;
extern Event EV_Sentient_WeaponPutAway;
extern Event EV_Sentient_WeaponReady;
extern Event EV_Sentient_WeaponDoneFiring;
extern Event EV_Sentient_AnimLoop;
extern Event EV_Sentient_UselessCheck;
extern Event EV_Sentient_TurnOffShadow;
extern Event EV_Sentient_Freeze;
extern Event EV_Sentient_UnFreeze;
extern Event EV_Sentient_ImpactDamage;
extern Event EV_Sentient_WeaponUse;
extern Event EV_Sentient_SetDropWeapon;

// Shutup compiler
class Weapon;
class Item;
class InventoryItem;

class EXPORT_FROM_DLL Sentient : public Entity
	{
	private:
		Container<int>		inventory;

	protected:
		Weapon				*currentWeapon;
      InventoryItem     *currentItem;
		Weapon				*newWeapon;
		str               currentAnim;
		qboolean				animOverride;
		Event					*tempAnimEvent;
      str               gun_bone_group_name;
      qboolean          stopanimating_tillchange;
      int               poweruptype;      
      int               poweruptimer;
      qboolean          sentientFrozen;
      qboolean          dropweapon;

		virtual void		EventGiveWeapon( Event *ev );
      virtual void		EventTakeWeapon( Event *ev );
		virtual void		EventGiveAmmo( Event *ev );
      virtual void		EventTakeAmmo( Event *ev );
      virtual void		EventGiveArmor( Event *ev );
      virtual void		EventTakeArmor( Event *ev );
      virtual void		EventGiveItem( Event *ev );
      virtual void		EventGiveHealth( Event *ev );
      virtual void		EventGiveInventoryItem( Event *ev );
      virtual void		EventGiveTargetname( Event *ev );
      virtual void		EventTakeItem( Event *ev );
		virtual void		WeaponPutAway( Event *ev );
		virtual void		WeaponReady( Event *ev );
		virtual void		WeaponDoneFiring( Event *ev );
		virtual void		AnimLoop( Event *ev );
      virtual void      ArmorDamage( Event *ev );
      virtual void      TurnOffShadow( Event *ev );
      virtual void      Freeze( Event *ev );
      virtual void      UnFreeze( Event *ev );
		virtual void      WeaponKnockedFromHands( void );

	public:
		Vector				gunoffset;
		Vector				eyeposition;

      // Weapon charging stuff
      float             firedowntime;
      qboolean          firedown;

      str               saveskin;
      str               savemodel;

      CLASS_PROTOTYPE( Sentient );

								Sentient();
		virtual				~Sentient();
      virtual void      RestorePersistantData( SpawnArgGroup &group );
      virtual void      WritePersistantData( SpawnArgGroup &group );
		Vector				EyePosition( void );
		virtual Vector		GunPosition( void );
		virtual void		GetGunOrientation( Vector pos, Vector *forward, Vector *right, Vector *up );
      virtual Item      *giveItem( const char * itemname, int amount, int icon_index = -1 );
		virtual void		FireWeapon( Event *ev );
      virtual void		ReleaseFireWeapon( Event *ev );
		virtual void		AddItem( Item *object );
		virtual void		RemoveItem( Item *object );
		virtual Item		*FindItem( const char *itemname );
		virtual void		FreeInventory( void );
      virtual void		FreeInventoryOfType( const char *weaptype );
		virtual qboolean	HasItem( const char *itemname );
		virtual void		ForceChangeWeapon( Weapon *weapon );
		virtual void		ChangeWeapon( Weapon *weapon );
		virtual void		SetCurrentWeapon( Weapon *weapon );
		virtual Weapon		*CurrentWeapon( void );
		virtual Weapon		*BestWeapon( Weapon *ignore = NULL );
		virtual Weapon		*NextWeapon( Weapon *weapon );
		virtual Weapon		*PreviousWeapon( Weapon *weapon );
		virtual qboolean	WeaponReady( void );
		virtual void		DropWeapon( Weapon *weapon );
		virtual void		DropCurrentWeapon( void );
		virtual Weapon		*giveWeapon( const char *weaponname );
      virtual void		takeWeapon( const char *weaponname );
      virtual void		takeItem( const char *weaponname, int amount );
		virtual Weapon		*useWeapon( const char *weaponname );
      virtual int       NumWeapons( void );
      virtual Weapon    *WeaponNumber( int weaponnum );
		virtual void		SetAnim( const char *anim );
		virtual void		TempAnim( const char *anim, Event *event );
		virtual void		TempAnim( const char *anim, Event &event );
      virtual void      UpdateSilencedWeapons( void );
      virtual int       NumInventoryItems( void );
      virtual Item      *NextItem( Item *item );
      virtual Item      *PrevItem( Item *item );
      virtual void      SearchBody( Event *ev );
      virtual qboolean  CanChangeWeapons( void );
      virtual void      UselessCheck( Event *ev );
      virtual qboolean  HasInventoryOfType( const char * );
      virtual void      DropInventoryItems( void );
              void      SprayBlood( Vector src, Vector dir, float damage );
              void      PrintDamageLocationToAttacker( edict_s *attacker, const char *victim_name, const char *location );
              void      PrintDamageLocationToVictim( edict_s *victim, const char *location );
              qboolean  PowerupActive( void );
		virtual void		setModel( const char *model );
		virtual void		setModel( str &mdl );
      virtual void      Archive( Archiver &arc );
      virtual void      Unarchive( Archiver &arc );
      virtual void      ImpactDamage( Event *ev );
      virtual void      WeaponUse( Event *ev );
              void      GetMuzzlePositionAndDirection( Vector *pos, Vector *dir);
              void      DoubleArmor( void );
      virtual qboolean  DoGib( int meansofdeath, Entity *inflictor );
      virtual void      SetDropWeapon( Event *ev );
      virtual void      DropWeaponNowEvent( Event *ev );
   };

inline EXPORT_FROM_DLL void Sentient::setModel
	(
	str &mdl
	)

	{
	setModel( mdl.c_str() );
	}


#ifdef EXPORT_TEMPLATE
template class EXPORT_FROM_DLL SafePtr<Sentient>;
template class EXPORT_FROM_DLL Container<Sentient *>;
#endif

typedef SafePtr<Sentient> SentientPtr;

extern Container<Sentient *> SentientList;

void EXPORT_FROM_DLL ResetBloodSplats( void );

#endif /* sentient.h */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合av在线| 国精产品一区一区三区mba视频| 国产高清亚洲一区| 久久综合九色综合欧美就去吻 | 亚洲视频一二三区| av一区二区三区四区| 亚洲美女区一区| 欧美日韩国产高清一区二区三区| 男男成人高潮片免费网站| 日韩免费视频一区| 东方欧美亚洲色图在线| 亚洲精品国产一区二区三区四区在线| 欧美综合一区二区三区| 喷水一区二区三区| 国产欧美日韩综合| 97精品超碰一区二区三区| 亚洲福利视频三区| 欧美成人bangbros| av网站一区二区三区| 一二三四区精品视频| 日韩免费一区二区三区在线播放| 国产999精品久久久久久| 一区二区三区在线高清| 91麻豆精品国产自产在线观看一区| 麻豆精品国产传媒mv男同| 中文字幕欧美区| 精品视频资源站| 精品亚洲aⅴ乱码一区二区三区| 一区在线观看视频| 欧美一区三区二区| 成人av电影免费观看| 蜜臀91精品一区二区三区| 国产精品少妇自拍| 91精品国产麻豆| av午夜精品一区二区三区| 麻豆成人在线观看| 亚洲激情校园春色| 久久精品欧美一区二区三区麻豆 | 在线一区二区三区做爰视频网站| 青青草原综合久久大伊人精品优势| 中文字幕va一区二区三区| 欧美狂野另类xxxxoooo| 成人黄色综合网站| 免费观看久久久4p| 伊人色综合久久天天人手人婷| 欧美精品一区二区三区很污很色的 | 成熟亚洲日本毛茸茸凸凹| 亚洲成人午夜影院| 亚洲色图制服丝袜| 国产视频在线观看一区二区三区| 在线91免费看| 欧美性一级生活| 成人在线视频首页| 国产乱妇无码大片在线观看| 亚洲大尺度视频在线观看| 国产精品国产三级国产aⅴ无密码| 日韩一区二区电影网| 欧美视频日韩视频在线观看| 一本到不卡免费一区二区| 成人午夜精品在线| 国产精品一区二区果冻传媒| 久久99精品久久久久久久久久久久| 亚洲成人精品影院| 亚洲永久精品国产| 亚洲精品高清在线观看| 国产精品国产三级国产有无不卡 | 91美女在线看| av激情成人网| 91丨九色丨蝌蚪丨老版| 成人福利视频在线看| 国产成人aaa| 高清国产午夜精品久久久久久| 国产一区二区福利视频| 国产自产高清不卡| 国产精品99久久久久久有的能看| 狠狠久久亚洲欧美| 国产毛片精品一区| 国产精品资源在线| 国产1区2区3区精品美女| 国产69精品久久久久毛片| 成人国产亚洲欧美成人综合网| 成人ar影院免费观看视频| 99久久99久久精品国产片果冻| 97精品视频在线观看自产线路二| 91视频在线观看免费| 色婷婷综合久久久中文字幕| 91成人网在线| 欧美一区二区国产| 精品国产成人系列| 国产农村妇女毛片精品久久麻豆| 久久久久久久久伊人| 国产精品热久久久久夜色精品三区| 中文字幕制服丝袜成人av| 成人免费在线视频| 亚洲成人av免费| 麻豆一区二区99久久久久| 国产精品1区2区3区在线观看| 国产**成人网毛片九色| 色综合一区二区| 91精品黄色片免费大全| 欧美不卡一区二区三区四区| 国产欧美视频一区二区| 亚洲激情图片小说视频| 日韩不卡在线观看日韩不卡视频| 精品综合久久久久久8888| 成人午夜精品一区二区三区| 欧美性欧美巨大黑白大战| 日韩丝袜美女视频| 中文字幕国产一区| 日韩国产成人精品| 不卡一区在线观看| 欧美日韩精品一区视频| 久久丝袜美腿综合| 亚洲精选视频在线| 久久99深爱久久99精品| 99热这里都是精品| 91精品国产日韩91久久久久久| 中文字幕国产一区二区| 日韩黄色片在线观看| 粉嫩aⅴ一区二区三区四区| 欧美亚洲综合一区| 久久久99精品久久| 五月婷婷综合激情| 国产成a人亚洲| 91精品麻豆日日躁夜夜躁| 中文字幕在线观看一区二区| 蜜桃一区二区三区四区| 欧洲精品在线观看| 国产日韩v精品一区二区| 亚洲福利国产精品| 成人av电影免费在线播放| 精品国产乱码久久久久久久 | 日韩一卡二卡三卡国产欧美| 国产精品妹子av| 国内精品久久久久影院色| 欧美日韩综合色| 成人欧美一区二区三区白人 | 欧美视频在线不卡| 国产精品久久久久久久久快鸭| 美洲天堂一区二卡三卡四卡视频| 99精品热视频| 国产目拍亚洲精品99久久精品| 蜜桃视频一区二区三区| 91国产丝袜在线播放| 国产精品国产三级国产aⅴ入口| 久久精品国产成人一区二区三区 | 综合亚洲深深色噜噜狠狠网站| 久久精品理论片| 欧美日韩卡一卡二| 亚洲美女在线一区| 成人精品小蝌蚪| 久久亚区不卡日本| 麻豆精品精品国产自在97香蕉| 欧美日韩二区三区| 一区二区三区精品视频| 成人精品免费看| 精品福利av导航| 美日韩一级片在线观看| 欧美日韩不卡一区二区| 亚洲精品国产第一综合99久久| 成人网页在线观看| 欧美国产视频在线| 成人激情综合网站| 国产精品乱码久久久久久| 国产一区二区精品在线观看| 精品91自产拍在线观看一区| 免费成人av资源网| 91精品国产综合久久精品麻豆 | 精品国产一区久久| 美女一区二区三区在线观看| 制服.丝袜.亚洲.另类.中文 | 亚洲综合一区在线| 色综合久久88色综合天天6 | 欧美福利电影网| 午夜精品一区在线观看| 欧美日韩国产精选| 日韩av在线免费观看不卡| 欧美精品日韩一区| 男女视频一区二区| 欧美草草影院在线视频| 国产在线看一区| 久久精品人人做| av网站一区二区三区| 亚洲图片欧美一区| 欧美一级片在线看| 国产一区二区三区在线观看精品| 国产蜜臀97一区二区三区| 99re这里只有精品6| 亚洲午夜精品网| 欧美精品 日韩| 国内精品久久久久影院一蜜桃| 欧美国产一区二区| 在线中文字幕一区二区| 五月婷婷综合在线| 亚洲精品一区二区三区精华液| 高清国产午夜精品久久久久久| 亚洲精品第一国产综合野| 欧美精品丝袜久久久中文字幕| 久久精品999| 亚洲六月丁香色婷婷综合久久|