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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? peon.cpp

?? this keik game source
?? CPP
字號(hào):
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/peon.cpp                         $
// $Revision:: 9                                                              $
//   $Author:: Aldie                                                          $
//     $Date:: 11/18/98 7:56p                                                 $
//
// Copyright (C) 1998 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/peon.cpp                              $
// 
// 9     11/18/98 7:56p Aldie
// dontsave goo
// 
// 8     11/18/98 1:40a Jimdose
// goo goes away quicker
// 
// 7     10/27/98 5:03p Markd
// Upped damage on goo
// 
// 6     10/27/98 3:53a Markd
// Don't always put dynamic lights on goo
// 
// 5     10/26/98 2:50p Aldie
// Fixed a bug with checking of NULL owners
// 
// 4     10/26/98 3:50a Markd
// put in prediction
// 
// 3     10/25/98 4:43a Markd
// incremental
// 
// 2     10/23/98 10:03p Markd
// First check in
// 
// 1     10/23/98 8:20p Markd
// 
// DESCRIPTION:
// Peon
// 

#include "g_local.h"
#include "actor.h"
#include "specialfx.h"
#include "surface.h"
#include "peon.h"


class EXPORT_FROM_DLL Goo : public Projectile
   {
	public:
      CLASS_PROTOTYPE( Goo );

                     Goo();
      virtual void   Setup( Entity *owner, Vector pos, Vector vel );
      virtual void   GooTouch( Event *ev );
  	};

CLASS_DECLARATION( Projectile, Goo, NULL );

ResponseDef Goo::Responses[] =
	{
      { &EV_Touch,                           ( Response )Goo::GooTouch },
      { NULL, NULL }
	};

Goo::Goo()
   {
   }

void Goo::GooTouch
   (
   Event *ev
   )

   {
   Entity      *other;
   Entity      *owner;
   int         damg;
   Vector      v;
   Vector      norm;
   Vector      shockangles;

   other = ev->GetEntity( 1 );
	assert( other );

	if ( other->isSubclassOf( Teleporter ) )
		{
		return;
		}

	if ( other->entnum == this->owner )
		{
		return;
		}

   owner = G_GetEntity( this->owner );

   if ( !owner )
      owner = world;

	setSolidType( SOLID_NOT );

   // Hit the shy, so remove everything
	if ( HitSky() )
		{
		PostEvent( EV_Remove, 0 );
		return;
		}

  	damg = 40 + ( int )G_Random( 40 );
	
   // Single player packs a bigger punch
   if ( !deathmatch->value && owner->isClient() )
      damg *= 1.5;
   
   if ( other->takedamage )
   	other->Damage( this, owner, damg, worldorigin, velocity, level.impact_trace.plane.normal, 32, 0, MOD_PULSE, -1, -1, 1.0f );

   if ( other == world )
      {
      RandomAnimate( "splat", NULL );
      PostEvent( EV_Remove, 5 );
      }
   else
      {
      PostEvent( EV_Remove, 0 );
      }
   }
     
void Goo::Setup
   (
   Entity *owner,
   Vector pos, 
   Vector vel
   )

   {
	this->owner = owner->entnum;
	edict->owner = owner->edict;

   // Align the projectile
  	angles = vel.toAngles();
	angles[ PITCH ] = -angles[ PITCH ];
   setAngles( angles );
//   edict->s.angles[ROLL] = rand() % 360;

   // Flies like a grenade
	setMoveType( MOVETYPE_TOSS );
	setSolidType( SOLID_BBOX );
	edict->clipmask = MASK_PROJECTILE;
   setModel( "goo.def" );
   RandomAnimate( "goo", NULL );
     
   // Set the flying velocity
   velocity = vel;

	takedamage = DAMAGE_NO;

   if ( G_Random( 10 ) < 2 )
      {
      // Set the light and effects
      edict->s.renderfx |= RF_DLIGHT;
      edict->s.radius    = 100;
      edict->s.color_r   = 0.1f;
      edict->s.color_g   = 0.9f;
      edict->s.color_b   = 0.1f;
      }

   flags |= FL_DONTSAVE;

   // Set size and origin
   setSize( "-1 -1 -1", "1 1 1" );
	setOrigin( pos );
   worldorigin.copyTo(edict->s.old_origin);
   
   // Remove the projectile in the future
   PostEvent( EV_Remove, 30 );
   }

CLASS_DECLARATION( Actor, Peon, "monster_peon" );

Event	EV_Peon_SpawnGoo( "spawngoo" );

ResponseDef Peon::Responses[] =
	{
	   { &EV_Peon_SpawnGoo, ( Response )Peon::SpawnGoo },
		{ NULL, NULL }
	};

Peon::Peon()
	{
   gootime = 0;
	setModel( "peon.def" );
   modelIndex( "goo.def" );
	}

void Peon::SpawnGoo
	(
	Event *ev
	)

	{
   Goo * goo;
   Vector vel;
   Vector pos;
   Vector target;
   float  speed;
   char bonename[ 32 ];
   int num;

   if ( !currentEnemy )
      return;

   num = (int)G_Random( 6 ) + 1;
   sprintf( bonename, "goo%d", num );

   GetBone( bonename, &pos, NULL, NULL, NULL );

   pos += worldorigin;

   speed = 900;

   target = G_PredictPosition( pos, currentEnemy->centroid, currentEnemy->velocity, speed );

   vel = G_CalculateImpulse
      (
      pos,
      target,
      speed,
      1
      );
   goo = new Goo;
   goo->Setup( this, pos, vel );
	}

void Peon::Prethink
	(
	void
	)
   {
   if ( currentEnemy && ( gootime < level.time ) )
      {
      Vector delta;
      Vector dir;
      ScriptVariable * stage;
      int stagenum;

      stage = levelVars.GetVariable( "eonpeon_stage" );
      if ( stage )
         {
         stagenum = stage->intValue();
         }
      else
         {
         stagenum = 0;
         }
      if ( stagenum < 2 )
         {
         gootime = level.time + 1;
         }
      else
         {
         dir = Vector( orientation[ 0 ] );
         delta = currentEnemy->centroid - centroid;
         if ( delta.length() < 1000 )
            {
#if 0
            float dot;

            dot = delta * dir;

            if ( dot < -0.5f )
               {
               gootime = level.time + 5;
   			   DoAction( "rearattack", false );
               }
#else
            if ( stagenum == 2 )
               gootime = level.time + 5;
            else
               gootime = level.time;

 			   DoAction( "rearattack", false );
#endif
            }
         }
      }

   //
   // call our superclass
   //
   Actor::Prethink();
   }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
玖玖九九国产精品| 久久亚洲一区二区三区明星换脸| 精品国免费一区二区三区| 亚洲欧美在线另类| 粉嫩aⅴ一区二区三区四区| 精品国产凹凸成av人导航| 亚洲h精品动漫在线观看| 色菇凉天天综合网| 一区二区三区在线视频观看58| 国产精品99久久不卡二区| 欧美日韩午夜影院| 亚洲激情图片qvod| 日本精品一区二区三区四区的功能| 国产精品久久久久久久久免费相片 | 国产精品久久久久影院亚瑟| 日韩精品一二三四| 欧美人与性动xxxx| 日本成人中文字幕| 国产亚洲综合在线| 91麻豆精品在线观看| 曰韩精品一区二区| 欧美一区二视频| 狠狠久久亚洲欧美| 国产精品国产三级国产aⅴ原创| 白白色亚洲国产精品| 一区二区三区在线影院| 制服.丝袜.亚洲.中文.综合| 国内精品不卡在线| 伊人一区二区三区| 欧美日韩久久一区| 国产高清在线观看免费不卡| 中文字幕人成不卡一区| 欧美在线你懂的| 麻豆一区二区三| 久久久青草青青国产亚洲免观| 国产东北露脸精品视频| 成人免费小视频| 3d成人h动漫网站入口| 国产一区二区三区美女| 一区二区三区中文字幕在线观看| 欧美一卡2卡3卡4卡| 不卡av免费在线观看| 日韩不卡在线观看日韩不卡视频| 26uuu国产在线精品一区二区| av成人免费在线| 国产一区 二区| 亚洲成av人片| 亚洲视频一二区| 国产日韩欧美激情| 日韩一级成人av| 欧美私人免费视频| 国产精品一区二区无线| 日韩激情视频网站| 国产精品电影院| 久久久久国产精品麻豆ai换脸 | 午夜视频在线观看一区二区三区| 国产精品美女一区二区三区| 日韩一区二区三区在线| 欧美日韩免费在线视频| 91蜜桃网址入口| 国产精品69毛片高清亚洲| 秋霞成人午夜伦在线观看| 一区二区日韩av| 亚洲欧美成aⅴ人在线观看| 国产精品久久久久久久久搜平片| 久久婷婷综合激情| 欧美刺激午夜性久久久久久久| 欧美高清一级片在线| 欧美日韩国产大片| 欧美私人免费视频| 91精彩视频在线| 欧美三级韩国三级日本一级| 91丨porny丨蝌蚪视频| 成人美女在线观看| 97久久精品人人做人人爽 | 久久久久久久久久久黄色| 精品国产污污免费网站入口| 日韩欧美国产综合在线一区二区三区| 欧美变态tickle挠乳网站| 精品免费国产一区二区三区四区| 国产午夜精品福利| 国产午夜精品久久久久久久| 久久综合九色综合欧美98| 久久久五月婷婷| 亚洲男女一区二区三区| 天天色综合天天| 国内外成人在线| 色呦呦国产精品| 日韩久久免费av| 日韩一区中文字幕| 亚洲高清免费一级二级三级| 蜜桃视频一区二区三区在线观看| 国产精品白丝av| 亚洲色图一区二区| 久久福利资源站| 在线观看不卡一区| 精品久久99ma| 亚洲午夜久久久久久久久电影网| 国内精品国产成人国产三级粉色 | 亚洲一区二区精品3399| 久久精品噜噜噜成人88aⅴ | 久久网站热最新地址| 亚洲综合激情另类小说区| 国产精品99久久久久久久女警| 91碰在线视频| 日本一区二区三区久久久久久久久不 | 欧美一二三四区在线| 日本一区二区成人| 日韩电影免费在线观看网站| 91丨九色丨国产丨porny| 国产欧美一二三区| 久久精品999| 欧美色综合网站| 一区二区久久久久| 99热99精品| 国产精品美女久久福利网站| 久久国产精品99精品国产 | 国产精品久久久久久久久免费樱桃 | 不卡的av电影在线观看| 久久免费看少妇高潮| 免费国产亚洲视频| 91精品国产综合久久福利软件| 亚洲一区视频在线| 91国产精品成人| 亚洲精品一二三区| 色偷偷88欧美精品久久久| 亚洲欧洲av另类| 色就色 综合激情| 视频一区中文字幕| 欧美一级夜夜爽| 免费在线观看视频一区| 欧美系列日韩一区| 亚洲va在线va天堂| 欧美精品一卡二卡| 日日嗨av一区二区三区四区| 在线观看免费一区| 亚洲午夜日本在线观看| 在线综合+亚洲+欧美中文字幕| 日韩一区欧美二区| 欧美大片在线观看| 北岛玲一区二区三区四区| 亚洲人妖av一区二区| 91久久一区二区| 日韩中文字幕1| 久久久亚洲欧洲日产国码αv| aaa国产一区| 美国十次综合导航| 中文字幕一区二区三区av | 久久精品一区二区三区av| 色综合久久久久| 蜜桃视频在线一区| 亚洲欧美激情插| 久久亚洲欧美国产精品乐播| 色综合天天天天做夜夜夜夜做| 偷偷要91色婷婷| 亚洲欧洲av色图| 精品久久一区二区| 欧美亚洲日本一区| 成人免费三级在线| 9191国产精品| 99精品在线观看视频| 久久97超碰色| 午夜精品福利视频网站| ...xxx性欧美| 国产精品麻豆一区二区| 久久久久久久网| 欧美成人a视频| 久久久久久黄色| 欧美成人三级电影在线| 欧洲国内综合视频| 在线观看中文字幕不卡| 岛国精品在线播放| 国产一区二区三区精品欧美日韩一区二区三区 | 久久人人超碰精品| 久久色成人在线| 精品乱人伦小说| 精品国产91洋老外米糕| 欧美一区二区性放荡片| 欧美日韩国产乱码电影| 欧美系列一区二区| 欧美高清视频不卡网| 欧美日韩三级在线| 欧美高清你懂得| 91麻豆精品国产91久久久使用方法| 欧美在线观看视频在线| 在线亚洲免费视频| 欧美日韩日日骚| 日韩一区二区在线观看| 欧美va在线播放| 2020国产成人综合网| 欧美国产禁国产网站cc| 国产欧美日韩在线看| 18成人在线视频| 日韩高清在线一区| 国产成人精品亚洲午夜麻豆| 成人av午夜电影| 欧美日韩电影一区| 国产日韩欧美电影| 亚洲精品国产无天堂网2021| 亚洲成av人片在线观看|