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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fists.cpp

?? this keik game source
?? CPP
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/fists.cpp                           $
// $Revision:: 34                                                             $
//   $Author:: Markd                                                          $
//     $Date:: 11/17/98 1:31a                                                 $
//
// 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/fists.cpp                                $
// 
// 34    11/17/98 1:31a Markd
// took out damage multiplier for fists
// 
// 33    11/12/98 11:31p Jimdose
// changed impact_bodyimpact to impact_goryimpact
// increased kick from melee
// 
// 32    10/20/98 8:26p Markd
// Added Attacker to DamageSurface stuff
// 
// 31    10/20/98 3:59p Aldie
// Tweaked fist radius
// 
// 30    10/14/98 12:12a Aldie
// Tweak damage
// 
// 29    10/11/98 5:35p Aldie
// Added meansofdeath
// 
// 28    10/05/98 10:23p Aldie
// Fixed rank
// 
// 27    10/01/98 3:35p Onethumb
// 
// 26    9/18/98 10:12p Markd
// made fists not use MASK_SHOT, MASK_PROJECTILE instead
// 
// 25    9/18/98 8:14p Markd
// rewrote surface system so that surfaces are now damaged by surface name instead
// of by surfinfo
// 
// 24    8/31/98 7:45p Aldie
// Updated surface data structure and removed surfinfo field
// 
// 23    8/31/98 4:33p Markd
// Made fists use fulltrace
// 
// 22    8/29/98 9:40p Jimdose
// Added call info to G_Trace
// 
// 21    8/29/98 5:27p Markd
// added specialfx, replaced misc with specialfx where appropriate
// 
// 20    8/18/98 11:08p Markd
// Added new Alias System
// 
// 19    8/17/98 3:16p Aldie
// Made fists not ignore armor
// 
// 18    8/06/98 6:58p Jimdose
// Added min/max range, and projectile speed
// 
// 17    7/23/98 6:17p Aldie
// Updated damage system and fixed some damage related bugs.  Also put tracers
// back to the way they were, and added gib event to funcscriptmodels
// 
// 16    7/22/98 9:57p Markd
// Defined weapon type
// 
// 15    7/21/98 1:10p Aldie
// Added meansofdeath to obituaries
// 
// 14    7/19/98 10:33p Aldie
// Update fist damage
// 
// 13    6/19/98 9:29p Jimdose
// Moved gun orientation code to Weapon
// 
// 12    6/10/98 10:03p Markd
// Got working with reach and damage
// 
// 11    6/10/98 4:00p Aldie
// Updated fists to do damage skins
// 
// 10    6/10/98 2:10p Aldie
// Updated damage function.
// 
// 9     5/27/98 5:21a Markd
// changed ranking of fists
// 
// 8     5/26/98 5:42p Markd
// Made fists more realistic damage wise
// 
// 7     5/25/98 7:58p Markd
// Moved TakeDamage a bit
// 
// 6     5/25/98 5:38p Markd
// Put in strike sound and stuff
// 
// 5     5/25/98 1:00a Markd
// Fixed Fists
// 
// 4     5/23/98 5:38p Markd
// slowed down firing rate
// 
// 3     5/20/98 10:43p Markd
// made fists into bullets
// 
// 2     5/11/98 11:24a Markd
// First time
// 
// DESCRIPTION:
// Normal Hands
// 

#include "g_local.h"
#include "fists.h"
#include "misc.h"
#include "specialfx.h"
#include "surface.h"

CLASS_DECLARATION( Weapon, Fists, NULL);

ResponseDef Fists::Responses[] =
	{
	   { &EV_Weapon_Shoot, ( Response )Fists::Shoot },
		{ NULL, NULL }
	};

Fists::Fists()
	{
	SetModels( NULL, "view_punch.def" );
	SetAmmo( NULL, 0, 0 );
	SetRank( 10, 10 );	
   strike_reach = 64;
   strike_damage = 20;
	SetMaxRange( strike_reach );
   SetType( WEAPON_MELEE );
   kick = 40;
   meansofdeath = MOD_FISTS;
	}

void Fists::Shoot( Event * ev )
	{
	trace_t	trace;
	Vector	start;
	Vector	end;
   float    damage;
	Vector   org;
	Vector   dir;
   int      surfflags;
   int      surftype;

	assert( owner );
	if ( !owner )
		{
		return;
		}

	NextAttack( 1 );

   damage = G_Random(strike_damage)+strike_damage;

	GetMuzzlePosition( &start, &dir );
	end	= start + dir * strike_reach;

   trace = G_FullTrace( start, vec_zero, vec_zero, end, 64, owner, MASK_PROJECTILE, "Fists::Shoot" );

	if ( !trace.surface )
		{
      surfflags = 0;
      surftype = 0;
		}
   else
      {
      surfflags = trace.surface->flags;
      surftype = SURFACETYPE_FROM_FLAGS( surfflags );
      surfaceManager.DamageSurface( &trace, damage, owner );
      }
	dir = Vector(trace.endpos) - start;
	dir.normalize();

	org = Vector(trace.endpos) - dir;

   if ( (trace.fraction < 1.0f) )
      {
      if ( trace.ent->entity && trace.ent->entity->takedamage )
		   {
         if ( trace.ent->entity->flags & FL_BLOOD )
	         {
            if ( ( meansofdeath == MOD_MUTANTHANDS ) || ( trace.ent->entity->health < -500 ) )
               {
               owner->RandomGlobalSound("impact_goryimpact");
               }
            else
               {
               owner->RandomGlobalSound("impact_bodyimpact");
               }
	         SpawnBlood( org, trace.plane.normal, damage );
	         }
         else
            {
		      gi.WriteByte( svc_temp_entity );
		      gi.WriteByte( TE_STRIKE );
		      gi.WritePosition( org.vec3() );
		      gi.WriteDir( trace.plane.normal );
		      gi.WriteByte( 120 );
		      gi.WriteByte( surftype );
		      gi.multicast( org.vec3(), MULTICAST_PVS );
            }
         if ( trace.intersect.valid )
            {
            // take the ground out so that the kick works
            trace.ent->entity->groundentity = NULL;

   			// We hit a valid group so send in location based damage
            trace.ent->entity->Damage( this,
                         owner,
                         damage,
                         trace.endpos,
                         dir,
                         trace.plane.normal,
                         kick,
                         0,
                         meansofdeath,
                         trace.intersect.parentgroup,
                         -1,
                         1 );
                         //trace.intersect.damage_multiplier );
            }
         else
            {
            // We didn't hit any groups, so send in generic damage
   			trace.ent->entity->Damage( this,
                         owner,
                         damage,
                         trace.endpos,
                         dir,
                         trace.plane.normal,
                         kick,
                         0,
                         meansofdeath,
                         -1,
                         -1,
                         1 );
            }
		   }
      else
		   {
		   gi.WriteByte( svc_temp_entity );
		   gi.WriteByte( TE_STRIKE );
		   gi.WritePosition( org.vec3() );
		   gi.WriteDir( trace.plane.normal );
		   gi.WriteByte( 120 );
		   gi.WriteByte( surftype );
		   gi.multicast( org.vec3(), MULTICAST_PVS );
		   }
      }
	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人在线网站| 色综合天天综合给合国产| 成人中文字幕在线| 欧美精品在线一区二区| 中文字幕在线观看一区二区| 久久丁香综合五月国产三级网站| 91麻豆精品秘密| 国产欧美日韩激情| 老司机精品视频线观看86| 欧美综合色免费| 亚洲丝袜自拍清纯另类| 国产精一品亚洲二区在线视频| 欧美乱妇15p| 亚洲一线二线三线视频| 91在线一区二区| 国产精品网站在线| 国产成人精品影院| 久久久www免费人成精品| 欧美bbbbb| 欧美一区二区视频免费观看| 亚洲自拍偷拍图区| 色激情天天射综合网| 亚洲三级久久久| 色综合久久久久综合体桃花网| 国产精品欧美一区二区三区| 丁香婷婷综合色啪| 国产精品热久久久久夜色精品三区 | 综合久久久久综合| 成人影视亚洲图片在线| 久久久久久夜精品精品免费| 国内精品免费**视频| 日韩欧美一区二区在线视频| 日本特黄久久久高潮| 欧美一区二区三区免费在线看| 日韩av中文字幕一区二区三区| 91.com在线观看| 美美哒免费高清在线观看视频一区二区| 欧美日韩一级片在线观看| 午夜精品福利久久久| 欧美一区二区三区视频免费| 秋霞成人午夜伦在线观看| 日韩一级片网址| 国产伦精品一区二区三区在线观看| 久久久久国产免费免费| 国产91清纯白嫩初高中在线观看| 国产精品乱子久久久久| 色综合天天综合网天天看片| 亚瑟在线精品视频| 日韩片之四级片| 成人在线一区二区三区| 亚洲激情在线播放| 日韩亚洲欧美综合| 国产成人午夜电影网| 亚洲精品国产无天堂网2021| 欧美一二三区在线观看| 国产精品18久久久| 亚洲国产精品一区二区尤物区| 91精选在线观看| 国产**成人网毛片九色| 一区二区三区精密机械公司| 日韩一级高清毛片| 99综合影院在线| 蜜桃视频第一区免费观看| 国产清纯在线一区二区www| 在线日韩av片| 国产在线一区二区| 亚洲一区在线观看网站| 久久夜色精品一区| 欧美色精品在线视频| 国产剧情av麻豆香蕉精品| 亚洲一区二区三区精品在线| 亚洲精品在线观看视频| 日本国产一区二区| 国内一区二区在线| 日韩影院免费视频| 亚洲人成人一区二区在线观看 | 国产亚洲一本大道中文在线| 欧美色视频在线| 成人黄色在线看| 婷婷开心久久网| 亚洲欧洲精品一区二区三区| 欧美一级一级性生活免费录像| 99国产欧美另类久久久精品| 裸体一区二区三区| 亚洲午夜精品网| 国产精品人人做人人爽人人添 | 亚洲人成电影网站色mp4| 2020国产精品自拍| 欧美精品黑人性xxxx| 成人av电影在线| 精品一区二区三区久久| 日韩成人精品在线观看| 一区av在线播放| 亚洲日本丝袜连裤袜办公室| 久久久91精品国产一区二区三区| 欧美裸体bbwbbwbbw| 欧美中文字幕一区二区三区亚洲| 成人动漫精品一区二区| 国产激情视频一区二区在线观看 | 国产亚洲精品久| 日韩欧美成人一区| 欧美日韩的一区二区| 欧美中文一区二区三区| 一本一道综合狠狠老| 97精品久久久午夜一区二区三区| 国产精品综合一区二区三区| 久久疯狂做爰流白浆xx| 日本aⅴ亚洲精品中文乱码| 亚洲不卡av一区二区三区| 亚洲一二三区不卡| 一区二区三区视频在线看| 国产精品国产三级国产普通话99| 精品国产成人系列| 久久久www免费人成精品| 久久九九影视网| 欧美激情中文字幕| 国产精品乱码久久久久久| 国产精品丝袜一区| 亚洲欧美偷拍三级| 亚洲黄色片在线观看| 夜夜精品浪潮av一区二区三区| 亚洲永久精品国产| 视频一区二区欧美| 免费观看在线色综合| 九九热在线视频观看这里只有精品| 美女网站一区二区| 高清成人在线观看| 91丝袜国产在线播放| 欧美专区日韩专区| 91精品国产综合久久久蜜臀粉嫩| 日韩欧美中文字幕一区| 国产婷婷色一区二区三区四区| 中文字幕一区二区三区不卡在线| 亚洲精品乱码久久久久久日本蜜臀| 一区二区高清免费观看影视大全| 偷窥少妇高潮呻吟av久久免费| 日韩电影在线一区| 国产一区二区三区黄视频 | 国产精品99精品久久免费| 国产a精品视频| 欧美网站一区二区| 日韩欧美激情在线| ●精品国产综合乱码久久久久 | 国产精品欧美一区喷水| 亚洲不卡在线观看| 国产一区二区三区不卡在线观看 | 大白屁股一区二区视频| 色综合天天综合网天天狠天天| 91麻豆精品久久久久蜜臀 | 成人h精品动漫一区二区三区| 色婷婷激情综合| 久久这里只有精品首页| 亚洲精品日产精品乱码不卡| 日本欧美韩国一区三区| 不卡的av在线| 日韩一区二区免费高清| 18欧美乱大交hd1984| 日韩主播视频在线| 99精品视频在线免费观看| 91精品婷婷国产综合久久性色| 日本一二三不卡| 日韩不卡手机在线v区| 91女神在线视频| 久久先锋资源网| 日韩二区三区四区| 色88888久久久久久影院按摩| 久久精品在线免费观看| 午夜欧美电影在线观看| 一本色道久久综合亚洲91 | 精品少妇一区二区| 亚洲永久免费av| www.久久久久久久久| 日韩欧美久久久| 亚洲图片一区二区| 97精品国产露脸对白| 久久蜜桃香蕉精品一区二区三区| 五月天视频一区| 色丁香久综合在线久综合在线观看| 亚洲国产精品精华液2区45| 日韩av不卡在线观看| 在线观看www91| 亚洲免费毛片网站| 成人高清在线视频| 欧美激情在线看| 国产东北露脸精品视频| 久久久久久久综合日本| 久久99国内精品| 欧美裸体bbwbbwbbw| 亚洲v中文字幕| 欧美日韩一二三| 亚洲国产精品影院| 欧美人xxxx| 日韩黄色免费电影| 欧美一区二区三区免费大片| 亚洲大片免费看| 欧美视频中文字幕| 亚洲成精国产精品女| 欧美另类一区二区三区| 日韩和的一区二区| 欧美tickling网站挠脚心|