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

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

?? skeet.cpp

?? this keik game source
?? CPP
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/skeet.cpp                        $
// $Revision:: 24                                                             $
//   $Author:: Markd                                                          $
//     $Date:: 10/24/98 12:42a                                                $
//
// 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/skeet.cpp                             $
// 
// 24    10/24/98 12:42a Markd
// changed origins to worldorigins where appropriate
// 
// 23    10/23/98 9:58p Aldie
// Removed setsize
// 
// 22    10/22/98 5:56p Markd
// Made a bunch of global sounds local to that entity
// 
// 21    9/23/98 5:19p Markd
// Put DAMAGE_NO in killed functions of these classes
// 
// 20    9/21/98 4:57p Markd
// Added archive and unarchive functions
// 
// 19    8/18/98 11:08p Markd
// Added new Alias System
// 
// 18    6/24/98 12:39p Markd
// Added default tesselation percentage
// 
// 17    6/18/98 9:13p Jimdose
// Removed posting of uninitialized event from Pigeon::Killed
// 
// 16    6/18/98 2:00p Markd
// rewrote tesselation code
// 
// 15    6/15/98 10:38a Aldie
// Removed ref to explosion
// 
// 14    5/24/98 4:48p Jimdose
// Made char *'s const
// 
// 13    5/24/98 1:04a Jimdose
// Added sound events for ai
// 
// 12    5/19/98 4:26p Aldie
// Fixed pigeon death
// 
// 11    5/17/98 8:10p Aldie
// Fixed origin and sound.
// 
// 10    5/15/98 1:02p Aldie
// Moved header to .h
// 
// 9     5/09/98 7:11p Markd
// Removed sound parameter from tesselate command
// 
// 8     5/05/98 8:37p Aldie
// Removed lights from skeet.
// 
// 7     5/03/98 4:33p Jimdose
// Changed Vector class
// 
// 6     5/01/98 11:09a Markd
// Added sound to tesselation event
// 
// 5     4/14/98 6:56p Markd
// Added thickness to tesselation and removed explosion
// 
// 4     4/06/98 7:10p Aldie
// Added zooming for SniperRifle
// 
// 3     4/05/98 11:04p Aldie
// Added tesselation.
// 
// 2     4/04/98 4:19p Aldie
// First version of skeet mod.
//
// DESCRIPTION: Skeet Entity
// 


#include "g_local.h"
#include "item.h"
#include "rocketlauncher.h"
#include "worldspawn.h"
#include "skeet.h"
#include "scriptmaster.h"

CLASS_DECLARATION( Object, Pigeon, "pigeon" );

Event EV_Pigeon_Remove( "pigeonremove" );

ResponseDef Pigeon::Responses[] =
	{
      { &EV_Touch,	         			( Response )Pigeon::RemovePigeon },
      { &EV_Killed,					      ( Response )Pigeon::Killed },
		{ NULL, NULL }
	};

void Pigeon::RemovePigeon(Event *ev)
   {
	setSolidType( SOLID_NOT );
	hideModel();
   PostEvent( EV_Remove, 0 );
   }

void Pigeon::Killed(Event *ev)
   {
	Entity * attacker;
   Vector dir;

   takedamage = DAMAGE_NO;
   setSolidType( SOLID_NOT );
	hideModel();
    
   attacker		= ev->GetEntity( 1 );
   dir = worldorigin - attacker->worldorigin;

   TesselateModel
      (
      this,
      tess_min_size,
      tess_max_size,
      dir,
      ev->GetInteger( 2 ),
      tess_percentage,
      tess_thickness,
      vec3_origin
      );

	ProcessEvent( EV_BreakingSound );
   RandomSound("pig_death",1);

   Director.DeathMessage( name.c_str() );
   PostEvent( EV_Remove, 0 );
   }

void Pigeon::Setup
	(
	Entity *owner,
	Vector pos,
	Vector dir,
   float pspeed,
   float pgrav,
	float pduration,
   const char *pigeon_name
   )
	{
	Event *ev;
   
	this->owner = owner->entnum;
	edict->owner = owner->edict;

   name = str( pigeon_name );
	setMoveType( MOVETYPE_BOUNCE );
	setSolidType( SOLID_BBOX );
	edict->clipmask = MASK_SHOT;

   maxspeed       = 500;
   acceleration   = 150;
	speed          = pspeed;
   velocity       = dir * speed;
   health         = 1;
   gravity        = pgrav;
   takedamage		= DAMAGE_YES;
   
	ev = new Event( EV_Remove );
	ev->AddEntity( world );
	PostEvent( ev, pduration );
   
   setModel("skeet.def");
   setSize( mins, maxs );
	setOrigin( pos );
   worldorigin.copyTo(edict->s.old_origin);
	}

CLASS_DECLARATION( Entity, SkeetLauncher, "skeetlauncher" );

Event EV_SkeetLauncher_Launch( "launch" );
Event EV_SkeetLauncher_SetXdir( "setXdir" );
Event EV_SkeetLauncher_SetYdir( "setYdir" );
Event EV_SkeetLauncher_SetZdir( "setZdir" );
Event EV_SkeetLauncher_SetSpeed( "setSpeed" );
Event EV_SkeetLauncher_SetGravity( "setGravity" );
Event EV_SkeetLauncher_SetDuration( "setDuration" );
Event EV_SkeetLauncher_SetSpeedVar( "setSpeedVar" );
Event EV_SkeetLauncher_SetXvar( "setXvar" );
Event EV_SkeetLauncher_SetYvar( "setYvar" );
Event EV_SkeetLauncher_SetZvar( "setZvar" );

ResponseDef SkeetLauncher::Responses[] =
	{
      { &EV_SkeetLauncher_Launch,				( Response )SkeetLauncher::Launch },
      { &EV_SkeetLauncher_SetXdir,				( Response )SkeetLauncher::SetXdir },
      { &EV_SkeetLauncher_SetYdir,				( Response )SkeetLauncher::SetYdir },
      { &EV_SkeetLauncher_SetZdir,				( Response )SkeetLauncher::SetZdir },
      { &EV_SkeetLauncher_SetSpeed,				( Response )SkeetLauncher::SetSpeed },
      { &EV_SkeetLauncher_SetGravity,	   	( Response )SkeetLauncher::SetGravity },
      { &EV_SkeetLauncher_SetDuration,			( Response )SkeetLauncher::SetDuration },
      { &EV_SkeetLauncher_SetSpeedVar,       ( Response )SkeetLauncher::SetSpeedVar },
      { &EV_SkeetLauncher_SetXvar,           ( Response )SkeetLauncher::SetXvar },
      { &EV_SkeetLauncher_SetYvar,           ( Response )SkeetLauncher::SetYvar },
      { &EV_SkeetLauncher_SetZvar,           ( Response )SkeetLauncher::SetZvar },
		{ NULL, NULL }
	};

SkeetLauncher::SkeetLauncher( )
   {
   showModel();
   setSolidType( SOLID_BSP );
   speed_var = 0;
   x_var = 0;
   y_var = 0;
   z_var = 0;
   }

void SkeetLauncher::SetXdir( Event *ev )
   {
   launchAngle.x = ev->GetFloat( 1 );
   }

void SkeetLauncher::SetYdir( Event *ev )
   {
   launchAngle.y = ev->GetFloat(1);
   }

void SkeetLauncher::SetZdir( Event *ev )
   {
   launchAngle.z = ev->GetFloat(1);
   }

void SkeetLauncher::SetSpeed( Event *ev )
   {
   pspeed = ev->GetFloat(1);
   }

void SkeetLauncher::SetGravity( Event *ev )
   {
   pgravity = ev->GetFloat(1);
   }

void SkeetLauncher::SetDuration( Event *ev )
   {
   pduration = ev->GetFloat(1);
   }

void SkeetLauncher::SetSpeedVar( Event *ev )
   {
   speed_var = ev->GetFloat(1);
   }

void SkeetLauncher::SetXvar( Event *ev )
   {
   x_var = ev->GetFloat(1);
   }

void SkeetLauncher::SetYvar( Event *ev )
   {
   y_var = ev->GetFloat(1);
   }

void SkeetLauncher::SetZvar( Event *ev )
   {
   z_var = ev->GetFloat(1);
   }

void SkeetLauncher::Launch(Event *ev)
   {
   Pigeon		*pigeon;
   Vector		start;
   Vector		end;
   float			sp;
	Vector		ang;
   const char	*name;

   pigeon = new Pigeon;

   name =  ev->GetString(1);
   ang.x = launchAngle.x + G_CRandom(x_var);
   ang.y = launchAngle.y + G_CRandom(y_var);
   ang.z = launchAngle.z + G_CRandom(z_var);
   sp = pspeed + G_CRandom(speed_var);
   pigeon->Setup( this, worldorigin, ang.normalize(), sp, pgravity, pduration, name);
   }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久中文字幕| 欧美精品tushy高清| 午夜精品久久久久久久久久久| 日韩欧美一级在线播放| 色综合久久中文综合久久97| 国产一区二区三区香蕉| 午夜免费久久看| 国产精品人妖ts系列视频| 日韩一本二本av| 色吧成人激情小说| 国产乱子伦视频一区二区三区 | 成人短视频下载| 蜜臀av一级做a爰片久久| 一区二区三区在线影院| 国产亚洲一区二区三区| 欧美一区二区三区视频在线观看| 色网站国产精品| 成人国产电影网| 国精产品一区一区三区mba视频 | 北条麻妃国产九九精品视频| 国产在线精品一区二区不卡了| 午夜免费久久看| 亚洲国产wwwccc36天堂| 一区二区三区蜜桃| 亚洲色图清纯唯美| 综合久久综合久久| 国产精品激情偷乱一区二区∴| 欧美精品一区二区三区高清aⅴ| 欧美一区二区三区在| 欧美久久久久中文字幕| 欧美性猛交xxxx黑人交| 91久久久免费一区二区| 99re视频精品| 色综合天天综合网天天狠天天 | 麻豆国产欧美一区二区三区| 偷窥少妇高潮呻吟av久久免费| 亚洲一区二区美女| 一区二区三区蜜桃| 亚洲国产三级在线| 久久国产精品99精品国产| 日韩电影在线免费看| 午夜在线成人av| 天堂影院一区二区| 亚洲午夜久久久久久久久电影网| 亚洲一卡二卡三卡四卡无卡久久| 夜夜精品视频一区二区 | 九九九精品视频| 激情偷乱视频一区二区三区| 久久国内精品视频| 国产一区二区女| 粉嫩13p一区二区三区| 91在线观看高清| 91成人免费电影| 在线播放91灌醉迷j高跟美女| 欧美疯狂性受xxxxx喷水图片| 欧美一级艳片视频免费观看| 欧美大白屁股肥臀xxxxxx| 精品日韩欧美在线| 国产精品色眯眯| 亚洲宅男天堂在线观看无病毒| 天天色天天操综合| 麻豆国产精品777777在线| 国产精品99久久久久久有的能看 | 欧美一级国产精品| 精品日韩av一区二区| 欧美国产精品中文字幕| 亚洲激情自拍偷拍| 首页综合国产亚洲丝袜| 国产在线精品一区在线观看麻豆| 成人精品视频一区二区三区尤物| 91久久精品一区二区三区| 91精品国产品国语在线不卡| 久久你懂得1024| 一区二区三区蜜桃网| 久久精品国产精品亚洲红杏| 成人在线一区二区三区| 欧美人妇做爰xxxⅹ性高电影| 欧美成人a在线| 亚洲三级电影网站| 日产国产高清一区二区三区| 丁香六月综合激情| 欧美精品一卡两卡| 国产精品久久久久久福利一牛影视 | 国产精品免费免费| 天堂久久久久va久久久久| 国产suv精品一区二区883| 欧美日韩三级视频| 中文字幕不卡三区| 午夜精品免费在线| 成人av在线播放网址| 欧美一区二区三区不卡| 国产精品久久久99| 毛片不卡一区二区| 在线免费观看视频一区| 日本一区二区免费在线| 天堂在线一区二区| 色悠悠亚洲一区二区| 久久久久久麻豆| 日韩成人免费看| 欧美性猛片xxxx免费看久爱| 欧美极品xxx| 免费在线一区观看| 欧美视频完全免费看| 亚洲欧美怡红院| 国产精品一二三| 日韩免费看网站| 午夜伊人狠狠久久| 91在线一区二区三区| 国产亚洲一区字幕| 久久99国产乱子伦精品免费| 在线观看视频欧美| 亚洲人成影院在线观看| 高清视频一区二区| 久久久精品影视| 精品亚洲aⅴ乱码一区二区三区| 欧美日本一区二区三区四区| 亚洲精品高清视频在线观看| 懂色av一区二区三区免费观看| 精品成人一区二区三区四区| 日韩国产精品91| 欧美探花视频资源| 一区二区三区中文字幕在线观看| 99久久99久久精品免费观看| 欧美精彩视频一区二区三区| 国产一区二区三区免费看| 日韩视频一区二区在线观看| 日韩—二三区免费观看av| 欧美精品一二三区| 婷婷夜色潮精品综合在线| 色综合天天性综合| 亚洲欧美一区二区久久| 色综合 综合色| 亚洲一区二区四区蜜桃| 欧美视频在线播放| 爽爽淫人综合网网站| 欧美日本在线观看| 日本欧美久久久久免费播放网| 欧美美女一区二区三区| 日本在线播放一区二区三区| 日韩午夜中文字幕| 精品在线一区二区| 久久影视一区二区| 国产成人精品亚洲日本在线桃色| 国产亚洲欧美色| 成人黄动漫网站免费app| 亚洲欧美一区二区三区久本道91| 色久综合一二码| 午夜精品一区在线观看| 欧美一区二区三区喷汁尤物| 久久电影网站中文字幕| 欧美激情一区二区三区蜜桃视频| 懂色av一区二区夜夜嗨| 亚洲精品中文在线影院| 欧美日韩国产首页| 蜜桃av噜噜一区二区三区小说| xnxx国产精品| 波多野洁衣一区| 亚洲国产精品久久一线不卡| 69堂精品视频| 国产福利电影一区二区三区| 国产精品大尺度| 欧美日韩极品在线观看一区| 久草精品在线观看| 国产精品色哟哟网站| 欧美日韩亚洲高清一区二区| 久久精品免费观看| 中文字幕一区在线观看视频| 欧美麻豆精品久久久久久| 九色综合国产一区二区三区| 中文字幕一区二区5566日韩| 欧美日韩午夜在线| 国产麻豆9l精品三级站| 亚洲日本在线视频观看| 777久久久精品| 丰满少妇久久久久久久| 亚洲一二三四久久| 久久综合九色综合欧美亚洲| 91视频你懂的| 蜜桃av噜噜一区二区三区小说| 中文字幕免费在线观看视频一区| 欧美在线一区二区| 韩国欧美国产1区| 一区二区欧美在线观看| 精品日韩在线一区| caoporm超碰国产精品| 卡一卡二国产精品 | 日韩欧美一区在线| 成人h动漫精品一区二| 日韩国产成人精品| 中文字幕五月欧美| 精品少妇一区二区三区视频免付费| eeuss鲁片一区二区三区| 麻豆精品蜜桃视频网站| 亚洲综合色噜噜狠狠| 欧美精品一区二区精品网| 欧美综合视频在线观看| 丁香网亚洲国际| 久久爱www久久做| 亚洲永久精品大片| 国产精品网站在线|