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

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

?? trigger.cpp

?? this keik game source
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
//-----------------------------------------------------------------------------
//
//  $Logfile:: /Quake 2 Engine/Sin/code/game/trigger.cpp                      $
// $Revision:: 126                                                            $
//   $Author:: Jimdose                                                        $
//     $Date:: 12/09/98 8:06p                                                 $
//
// 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/trigger.cpp                           $
// 
// 126   12/09/98 8:06p Jimdose
// added triggerbox
// 
// 125   11/18/98 3:37a Jimdose
// added hack to get rid of tirggers marked with "secret" message
// 
// 124   11/17/98 2:51a Markd
// put in special case for oilrig trigger_once we don't want
// 
// 123   11/16/98 4:37a Markd
// put in better ToggleSound code
// 
// 122   11/15/98 3:50a Jimdose
// changed TriggerStuff so that if the activator is the world, it only runs the
// thread if the command came from script.  Grrrr...
// 
// 121   11/13/98 6:02p Jimdose
// TriggerStuff was only calling the thread if other was Sentient.  Changed it
// so that it calls it for all entities except when the world touches
// something.
// 
// 120   11/12/98 9:01p Markd
// pre-cached all "NOISE"'s
// 
// 119   11/07/98 10:15p Markd
// put in forcemusic support
// 
// 118   10/27/98 6:20a Aldie
// Bulletproof cameras
// 
// 117   10/26/98 3:51a Aldie
// Made trigger_hurt ignore armor and skill
// 
// 116   10/25/98 9:11p Markd
// put in null other protection for activate targets
// 
// 115   10/25/98 5:49p Markd
// Fixed random speakers, multi-triggering
// 
// 114   10/24/98 6:05p Jimdose
// added changethread to TriggerChangeLevel
// made waitForPlayer work in change level threads
// 
// 113   10/24/98 2:17p Markd
// Put in success music when hit trigger_exit
// 
// 112   10/24/98 12:42a Markd
// changed origins to worldorigins where appropriate
// 
// 111   10/22/98 5:04p Jimdose
// TriggerStuff now checks trigger_time at the begining of the function
// 
// 110   10/19/98 11:52p Aldie
// Force set the touchfield to SOLID_TRIGGER
// 
// 109   10/19/98 12:07a Jimdose
// made all code use fast checks for inheritance (no text lookups when
// possible)
// isSubclassOf no longer requires ::_classinfo()
// 
// 108   10/17/98 8:13p Jimdose
// Changed Damage to DamgeEvent in DamageThreshold
// Changed ownernum to EntityPtr owner in TouchField
// 
// 107   10/16/98 7:19p Markd
// made trigger_changelevel default to LevelComplete as its default thread name
// 
// 106   10/15/98 10:08p Markd
// Made all sounds synched by default
// 
// 105   10/15/98 3:37p Markd
// Moved STartThread code after triggers again, made sure trigger_changelevel
// executes script before changing levels
// 
// 104   10/14/98 7:53p Markd
// Added trigger_exit
// 
// 103   10/14/98 12:33p Markd
// Made TriggerOnce be able to turn off the touch ability
// 
// 102   10/13/98 11:13p Markd
// Put in trigger_mutate
// 
// 101   10/13/98 9:44p Jimdose
// TriggerChangeLevel no longer errors out when the map hasn't been set and
// loading savegames
// 
// 100   10/12/98 12:20p Markd
// Replaced StartThreads with ExecuteThreads
// 
// 99    10/10/98 1:29a Jimdose
// TriggerSecret no longer increments the secret count during savegames
// 
// 98    10/08/98 7:40p Jimdose
// changed noexit to a dmflag
// 
// 97    10/05/98 6:42p Markd
// Made Trigger Speakers get sent over at least once
// 
// 96    10/01/98 11:47a Markd
// Added Toggle flag to trigger_speakers
// 
// 95    9/30/98 4:55p Markd
// bullet-proofed camera choosing code so that non-camera would be properly
// detected
// 
// 94    9/30/98 3:42p Markd
// put in bulletproofing for start thread functions
// 
// 93    9/29/98 5:59p Markd
// Added dialog_needed stuff for keys on triggers
// 
// 92    9/21/98 4:21p Markd
// Put in archive functions and rewrote all archive routines
// 
// 91    9/20/98 7:11p Aldie
// Added flags to particles
// 
// 90    9/20/98 3:13p Markd
// made channel voice the default for trigger_speakers
// 
// 89    9/17/98 5:52p Jimdose
// Made total_secrets and found_secrets available to script
// Made trigger_secret's thread default to specific script.
// 
// 88    9/15/98 7:01p Markd
// Added setdamage ability to trigger_hurt's
// 
// 87    9/15/98 6:45p Aldie
// Removed some sound references
// 
// 86    9/14/98 6:16p Markd
// Added documentation to trigger_once
// 
// 85    9/14/98 3:10p Markd
// fixed trigger_speaker toggling
// 
// 84    9/11/98 5:45p Aldie
// Updated some flags for beam
// 
// 83    9/09/98 3:56p Aldie
// New lightning effect
// 
// 82    8/30/98 7:01p Markd
// Fixed touchable triggers for trigger_particle and trigger_randomparticle
// 
// 81    8/29/98 9:46p Jimdose
// Changed BeginIntermission to G_BeginIntermission
// 
// 80    8/29/98 5:27p Markd
// added specialfx, replaced misc with specialfx where appropriate
// 
// 79    8/27/98 6:47p Markd
// Added NOSOUND capability to trigger_particles
// 
// 78    8/24/98 4:55p Markd
// Added G_CalculateImpulse to TriggerPush
// 
// 77    8/24/98 11:32a Markd
// Added Start method to threads, repladed all ProcessEvent(
// EV_ScriptThread_execute) with thread->Start( -1 )
// 
// 76    8/19/98 2:28p Aldie
// Added trigger_pushany which is basically a trigger_push with angles support
// 
// 75    8/18/98 11:53p Jimdose
// Changed TriggerStuff so that it only accepts world triggers on EV_Activate
// 
// 74    8/18/98 11:08p Markd
// Added new Alias System
// 
// 73    8/17/98 6:19p Markd
// Added trigger_camerause
// 
// 72    8/15/98 10:12p Jimdose
// Made trigger_use solid only when visible
// 
// 71    8/15/98 5:36p Jimdose
// Trigger thread was starting the thread in TriggerStuff and in Trigger
// Effect, effectively, calling it twice
// 
// 70    8/14/98 8:18p Markd
// Fixed silly str thing to get rid of weird messages.
// 
// 69    8/10/98 7:26p Markd
// fixed a thread issue with triggers being triggered by world
// 
// 68    8/05/98 2:52p Markd
// Added thread support to triggers
// 
// 67    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
// 
// 66    7/21/98 4:23p Aldie
// Make icons work for locks
// 
// 65    7/21/98 1:10p Aldie
// Added meansofdeath to obituaries
// 
// 64    7/18/98 3:56p Markd
// Added SetKey command
// 
// 63    7/18/98 1:57p Aldie
// Changed functionality of trigger_push.
// 
// 62    7/16/98 5:45p Markd
// Added particlestyle to Trigger_randomparticles
// 
// 61    7/15/98 9:58p Markd
// changed syntax of TempDLight
// 
// 60    7/13/98 5:56p Markd
// Added TriggerDamageTargetsFixed and TriggerThread
// 
// 59    7/10/98 4:17p Markd
// Made trigger_damagetargets not walkthroughable
// 
// 58    7/10/98 4:10p Markd
// made damage_threshold have accumulative flag
// 
// 57    7/09/98 12:07a Jimdose
// killtargeting posts a remove instead of processing it.
// 
// 56    6/27/98 2:16p Aldie
// Updated to new centerprintf method
// 
// 55    6/25/98 8:47p Markd
// Added keyed items for Triggers, Rewrote Item class, rewrote every pickup
// method
// 
// 54    6/18/98 8:48p Jimdose
// Added better event error handling
// Added source info to events
// 
// 53    6/17/98 7:24p Markd
// Updated documentation on Trigger_speakers
// 
// 52    6/10/98 2:38p Aldie
// Updated the trigger_push.
// 
// 51    6/10/98 2:10p Aldie
// Updated damage function.
// 
// 50    6/09/98 6:42p Markd
// made ambients default to ATTN_IDLE instead of ATTN_STATIC
// 
// 49    6/08/98 2:36p Markd
// re-did some trigger_speaker stuff to support attenuation on ambients
// 
// 48    5/25/98 5:40p Markd
// Added TriggerParticles and TriggerRandomParticles
// 
// 47    5/24/98 8:46p Jimdose
// Made a lot of functions more str-friendly.
// Got rid of a lot of char * based strings
// Cleaned up get spawn arg functions and sound functions
// sound functions now use consistant syntax
// 
// 46    5/24/98 5:25p Jimdose
// Changed char *'s to const char *'s
// 
// 45    5/22/98 9:39p Jimdose
// Changed check for "Monster" to "Actor"
// 
// 44    5/20/98 1:51p Markd
// Forgot to get rid of showmodel for TriggerDamageTargets-SOLID
// 
// 43    5/20/98 1:33p Markd
// Changed Trigger_damagetargets a bit
// 
// 42    5/20/98 11:11a Markd
// removed char * dependency
// 
// 41    5/18/98 6:13p Jimdose
// Added health to trigger
// 
// 40    5/16/98 5:00p Markd
// Added Trigger_DamageTargets
// 
// 39    5/08/98 7:54p Markd
// Fixed default trigger sound
// 
// 38    5/06/98 11:01a Markd
// Added warning on play_sound_triggered
// 
// 37    5/02/98 12:01a Jimdose
// Trigger Hurt now defaults to hurt monsters
// 
// 36    5/01/98 6:23p Jimdose
// Trigger hurt no longer hurts dead people
// 
// 35    5/01/98 5:07p Jimdose
// TriggerStuff now responds to messages from world regardless of its
// spawnflags
// 
// 34    4/30/98 12:18p Markd
// capitalized some trigger_speaker stuff
// 
// 33    4/30/98 12:14p Markd
// Added SINED clarifications
// 
// 32    4/30/98 12:00p Markd
// Fixed trigger_speaker, it now spawns properly
// 
// 31    4/29/98 10:45p Markd
// Added TriggerSpeaker and TriggerRandomSpeaker and TriggerPlaySound was
// modified
// 
// 30    4/20/98 1:40p Jimdose
// Added respondto in TouchField::Setup
// 
// 29    4/18/98 2:36p Jimdose
// Removed tesselating from DamageThreshold
// Changed DamageThreshold to behave more like a Trigger (using
// EV_Trigger_Effect)
// 
// 28    4/14/98 7:29p Markd
// Increased size of tesselation for damage_threshold
// 
// 27    4/14/98 6:56p Markd
// Added thickness to tesselation
// 
// 26    4/10/98 1:24a Markd
// Made DamageThreshold behave with new FL_TESSELATE flags
// 
// 25    4/05/98 10:43p Markd
// Moved Tesselate to Entity
// 
// 24    4/05/98 6:16p Markd
// Changed TE_TESSELATE a bit
// 
// 23    4/04/98 6:10p Jimdose
// Added TriggerHurt
// Added EV_Trigger_Effect so that subclasses of Trigger can easily change the
// effect of the trigger without loses its default behaviour
// Added respondto variable that determines wether a trigger responds to
// players, monsters, or projectiles
// 
// 22    3/29/98 9:40p Jimdose
// Changed killed and pain to events
// 
// 21    3/27/98 5:38p Jimdose
// Made TriggerChangeLevel work
// 
// 20    3/24/98 4:55p Jimdose
// Changed usage of GetToken to GetString so that script variables can be used
// 
// 19    3/23/98 1:31p Jimdose
// Revamped event and command system
// 
// 18    3/11/98 2:22p Jimdose
// Added support for area portals in damage threshold.
// 
// 17    3/02/98 8:49p Jimdose
// Changed the classid parameter of CLASS_DECLARATION to a quoted string so
// that you could have a NULL classid.
// 
// 16    2/17/98 6:59p Jimdose
// no longer pass script into interpretCommand
// 
// 15    2/16/98 2:11p Jimdose
// Fixed bug in ActivateTargets where entnum was being overwritten
// 
// 14    2/06/98 5:41p Jimdose
// Fixed Sined header for trigger_multiple.
// Removed use of touch function in DamageThreshold.
// 
// 13    2/03/98 10:49a Jimdose
// Updated to work with Quake 2 engine
// Changed from think functions to events
// 
// 11    12/06/97 4:51p Markd
// Added intepretCommand for Trigger and TriggerMonsterJump
// 
// 10    11/10/97 8:36p Jimdose
// Removed getMapTitle from World, so had to change trigger_changelevel
// 
// 9     10/27/97 3:30p Jimdose
// Removed dependency on quakedef.h
// 
// 8     10/08/97 6:03p Jimdose
// Began vehicle support.
// 
// 7     10/06/97 6:31p Markd
// changed triangulate size
// 
// 6     10/06/97 4:01p Markd
// added multiple parameters to the triangulate function.  Added lightmap
// lookups at each vert.  Added subtri filter that would cull some the created
// triangles
// 
// 5     10/05/97 6:09p Markd
// Changed tesselation factor back
// 
// 4     10/05/97 5:53p Markd
// Changed tesselation factor for triangulate
// 
// 3     10/04/97 5:22p Markd
// Added Triangulate calls
// 
// 2     9/26/97 5:23p Jimdose
// Added standard Ritual headers
//
// DESCRIPTION:
// Environment based triggers.
// 

#include "g_local.h"
#include "entity.h"
#include "trigger.h"
#include "scriptmaster.h"
#include "areaportal.h"
#include "worldspawn.h"
#include "misc.h"
#include "specialfx.h"
#include "sentient.h"
#include "item.h"
#include "player.h"
#include "camera.h"
#include "actor.h"
#include "g_utils.h"

Event EV_Trigger_ActivateTargets( "activatetrigger" );
Event EV_Trigger_SetWait( "wait" );
Event EV_Trigger_SetDelay( "delay" );
Event EV_Trigger_SetCount( "cnt" );
Event EV_Trigger_SetMessage( "message" );
Event EV_Trigger_SetNoise( "noise" );
Event EV_Trigger_Effect( "triggereffect" );
Event EV_Trigger_StartThread( "triggerthread" );
Event EV_Trigger_SetKey( "key" );

#define MULTI_ACTIVATE	1
#define INVISIBLE			2

#define VISIBLE			1

#define TRIGGER_PLAYERS			4
#define TRIGGER_MONSTERS		8
#define TRIGGER_PROJECTILES	16

/*****************************************************************************/
/*SINED trigger_multiple (.5 .5 .5) ? x x NOT_PLAYERS MONSTERS PROJECTILES

Variable sized repeatable trigger.  Must be targeted at one or more entities.

If "health" is set, the trigger must be killed to activate each time.
If "delay" is set, the trigger waits some time after activating before firing.

"thread" name of thread to trigger.  This can be in a different script file as well\
by using the '::' notation.

"wait" : Seconds between triggerings. (.2 default)
"cnt" how many times it can be triggered (infinite default)

If NOT_PLAYERS is set, the trigger does not respond to players
If MONSTERS is set, the trigger will respond to monsters
If PROJECTILES is set, the trigger will respond to projectiles (rockets, grenades, etc.)

set "message" to text string

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲sss视频在线视频| 韩国女主播成人在线| 欧美在线制服丝袜| 国产精品国产三级国产aⅴ中文 | 国产精品久久久久天堂| 国产福利视频一区二区三区| 中文字幕久久午夜不卡| av一区二区久久| 久久久精品天堂| 国产精品亚洲人在线观看| 国产精品午夜在线| 欧美日本在线观看| 韩国午夜理伦三级不卡影院| 国产精品免费视频观看| 色94色欧美sute亚洲线路一ni| 亚洲国产综合色| 4438x亚洲最大成人网| 极品尤物av久久免费看| 精品999在线播放| 成人av在线播放网站| 午夜欧美2019年伦理| 国产午夜精品在线观看| 欧美性xxxxxxxx| 国产成人啪免费观看软件| 亚洲欧美视频一区| 亚洲精品一区二区三区在线观看 | 欧美日韩一区在线观看| 国产一区二区三区蝌蚪| 亚洲欧洲美洲综合色网| 日韩精品一区二区三区四区视频| 国产成人超碰人人澡人人澡| 日韩av一区二区三区| 亚洲免费大片在线观看| 欧美高清在线精品一区| 日韩理论片中文av| 91视视频在线直接观看在线看网页在线看| 久久一二三国产| 欧美韩国一区二区| 一区二区三区自拍| 亚洲成人资源网| 国产高清精品在线| 色乱码一区二区三区88| 精品视频一区二区不卡| 制服丝袜成人动漫| 亚洲国产成人一区二区三区| 一区二区三区久久| 污片在线观看一区二区| 亚洲一区二区三区视频在线播放| 亚洲在线视频网站| 一区二区三区欧美在线观看| 亚洲精品日日夜夜| 亚洲国产视频一区| 美国欧美日韩国产在线播放| 韩国成人福利片在线播放| 国产在线视视频有精品| 丁香啪啪综合成人亚洲小说 | 久久99久久久欧美国产| 国产一区二区三区精品视频| 99国产一区二区三精品乱码| 在线观看一区日韩| 欧美成人激情免费网| 国产日韩欧美制服另类| 一区二区三区在线看| 美腿丝袜亚洲综合| 成人免费黄色大片| 欧美日韩国产免费一区二区| 久久一区二区三区国产精品| 亚洲午夜影视影院在线观看| 国产综合色精品一区二区三区| 色综合久久中文字幕综合网| 欧美一级精品在线| 亚洲夂夂婷婷色拍ww47| 国产一区在线看| 欧美一卡二卡在线| 亚洲精品欧美综合四区| 国产999精品久久久久久绿帽| 欧美图区在线视频| 国产精品色婷婷| 国产在线播放一区三区四| 欧美午夜片在线观看| 亚洲欧美日韩小说| 成人毛片老司机大片| 国产日韩在线不卡| 国产精品18久久久久久久久久久久| 99riav久久精品riav| 国产色产综合色产在线视频| 亚洲成人av一区| 91成人在线精品| 综合分类小说区另类春色亚洲小说欧美| 国产一区不卡在线| 日韩精品一区在线观看| 久久精品久久99精品久久| 精品欧美乱码久久久久久| 麻豆精品一区二区av白丝在线| 欧美亚洲一区二区在线观看| 樱花草国产18久久久久| 91国产免费看| 亚洲丰满少妇videoshd| 欧美日韩国产123区| 老司机免费视频一区二区三区| 日韩视频永久免费| 国产一二精品视频| 国产精品久久毛片a| 99视频热这里只有精品免费| 成人免费一区二区三区在线观看| www.日韩在线| 日韩高清不卡一区二区三区| 欧美电影精品一区二区| 粉嫩aⅴ一区二区三区四区五区| 中文字幕精品在线不卡| 福利一区在线观看| 一区二区不卡在线播放| 欧美日韩一级片网站| 99久久夜色精品国产网站| 亚洲与欧洲av电影| 亚洲精品精品亚洲| 亚洲精品乱码久久久久| 亚洲黄一区二区三区| 一区二区三区欧美在线观看| 亚洲午夜av在线| 日韩精品亚洲一区二区三区免费| 免费精品视频最新在线| 精品一区二区日韩| 国产精品 欧美精品| 色欲综合视频天天天| 欧美午夜理伦三级在线观看| 欧美一区二区不卡视频| 2023国产精品自拍| 亚洲天堂av老司机| 婷婷开心久久网| 国产精品夜夜嗨| 欧美在线视频不卡| 欧美变态tickle挠乳网站| 亚洲国产经典视频| 视频一区视频二区中文字幕| 东方aⅴ免费观看久久av| 色婷婷亚洲综合| 91国模大尺度私拍在线视频| 91精品办公室少妇高潮对白| 欧美一区二区二区| 亚洲精品乱码久久久久| 久久草av在线| 欧美日韩精品欧美日韩精品一 | 亚洲国产日日夜夜| 成人精品高清在线| 91精品国产91综合久久蜜臀| 久久久久成人黄色影片| 日韩一区欧美二区| 色综合夜色一区| 26uuu精品一区二区三区四区在线| 亚洲欧洲性图库| 国产自产v一区二区三区c| 欧美一区二区久久| 亚洲高清不卡在线观看| 国产馆精品极品| 色噜噜狠狠成人中文综合| 欧美变态口味重另类| 日本aⅴ精品一区二区三区| 91浏览器在线视频| 欧美激情一区二区三区| 国产精品乡下勾搭老头1| 3d动漫精品啪啪1区2区免费| 亚洲永久精品大片| 91黄视频在线观看| 亚洲婷婷综合色高清在线| 国产美女在线观看一区| 国产喂奶挤奶一区二区三区| 韩国视频一区二区| 精品国产123| 国产一区二区三区在线观看免费| 91精品国产一区二区三区蜜臀 | 欧美精品一区二区高清在线观看| 午夜国产不卡在线观看视频| 欧美视频一区二区三区在线观看| 亚洲精品水蜜桃| 欧美精品一级二级三级| 奇米一区二区三区av| 26uuu亚洲综合色| 丰满少妇久久久久久久| 综合久久久久久| 91国内精品野花午夜精品| 三级欧美韩日大片在线看| 精品国产乱码久久久久久免费 | 波多野结衣精品在线| 亚洲欧美区自拍先锋| 欧美日韩国产三级| 奇米精品一区二区三区在线观看| 久久精品视频一区二区三区| 精品无人码麻豆乱码1区2区 | 欧美不卡视频一区| 国产99久久久久| 婷婷久久综合九色综合绿巨人 | 欧美精品乱码久久久久久按摩| 日韩成人一区二区| 国产亚洲一区二区三区四区| 99精品在线观看视频| 美女一区二区视频| 国产精品天干天干在线综合| 欧美日韩精品电影| 成人午夜激情片|