零点行动:删除片段(关卡模式)fgd文件(部分汉化)

From Valve Developer Community
Jump to: navigation, search
English

说明

首先要说明一下,这个页面充满了个人色彩,请大家不要介意(主要指fgd中的联系方式和下文的个人经历等)。国内目前极少有人研究零点行动单人任务地图的制作,更是极少有人会到这个开发者中心来找这么一个fgd。但是既然有这么一个英文版的官方页面,我就抽时间将以前自己部分汉化的fgd文件源码发出来吧。 正是因为存在这么一个英文版fgd文件的页面,给2012年左右开始研究零点行动地图制作的我提供了宝贵的资源。在制图过程当中我实在不能理解的问题,2013年我和原fgd的作者进行了邮件问答沟通,再次非常感谢此fgd原作者Ts2do的提供的宝贵的fgd资料和耐心的解答。 如有问题,可以发邮件联系littledongdong@foxmail.com

重要说明

Hammer 3.5只支持长度小于32个字符的实体名称。因此,类似monster_ct_* and monster_terrorist_* 等某些长度超过这个限制的实体无法在Hammer 3.5里显示。你可以通过将地图源文件另存为扩展名为"map"格式后用文本编辑器手动修改其中超过限制的实体名。 原英文版fgd此处给出了通过脚本来转换达到目的的方法,但是由于本人能力所限,不会使用perl语言。如有需要,可以回到原页面Condition Zero Deleted Scenes.fgd查看。

//=============================================================================
//
//    
//     1011111111111111111111111111111111111111111111111111111111 
//     1000111111111110000000000000000000000000000011111111111000 
//     1011100000000001111111111111111111111111111100000000001100 
//     1011100000000011111111100111111111001111111110000000001110 
//     101101     111111100000111111111110000001111111      00110 
//     101100   11111110001    11110001111   100001111111   00110 
//     101100 1011110001      101101 001101     1000111100  00110 
//     101100111111001       101100   001101       00011111100110 
//     1011111111001        101110     011101        001111111110 
//     10111111100          01110       01110         00111111110 
//     1011111100          011101       101110         0011111110 
//     101111100          001101         101100         001111110 
//     101111101         101100           001101         00111110 
//     10111100         101110             001101        10111110 
//     1011110          01111111111111111111111101        0011110 
//     1011100         001111111010101010111111110        1011110 
//     1011100        00111111111111111111111111100       1011110 
//     1011100       1011111111111111111111111111101       011110 
//     1011100      101111111111111111111111111111101      011110           
//     1011100     10111111111111111111111111111111101    1011110           
//     1011110     01110111111100010000010111111100110    0011110           
//     10111100   001101 01111111111111111111110  01110  10111110           
//     101111101 101100  10110             01101  101101 00111110           
//     101111100111100    10110           01101    10111001111110  
//     10111111011110      01101         00100      0011111111110  
//     1011111111110        01101       10110        001111111110  
//     1011111111100        10110      101101       1001111100110 
//     101100111111001       10100     01101      100111111100110 
//     10110111111111000      01101   00101     10001111111111110 
//     101111111011111100001   1110  10111   10001111101101111110  
//     101111110  111111110000101111101110000001111111   10111110  
//     101111101    111111111101111101111111111111111     0011110  
//     1011111011111111111111111111111111111111111111110111011100  
//     1000000000000000000000000000000000000000000000000000000000  
//    
//    
// Counter-Strike Condition Zero Deleted Scenes
// Valve Hammer Editor 3.5
// 最后修改:2014-7-3 16:13:21
// 最后修改:2014-8-16 18:13:20 -修改和增加了env_fog的部分键值
// 最后修改:2015-7-27 14:50:24 -修改了game_player_equip实体火箭筒部分
// 最后修改:2015-7-28 19:06:58 -增加了trigger_stealth实体
// 最后修改:2015-7-30 00:38:41 -增加了部分武器的点实体
// 最后修改:2015-7-30 13:55:42 -修复了item_armor的错误
// 最后修改:2015-8-1 00:52:45  -增加了env_missionfailure实体的message键值
// 最后修改:2016-7-26 11:05:43 -增加了玻璃的粉末状破碎实体标记和汉化;增加了点实体func_train
// 最后修改:2016-7-27 19:54:45 -增加了炮塔的精确度实体;增加了gibshooter实体并汉化,(注意此实体在官方图cz_fastline1中键值编辑里有quiet和bodygroup选项)
// 最后修改:2016-8-3 20:08:00  -增加了trigger_usetool实体的部分选项
// 最后修改:2016-8-7 17:51:39  -增加了func_breakable实体的部分选项
// 最后修改:2016-8-17 13:18:40 -增加了func_breakable实体的部分选项
//
// 基于Condition_Zero_Deleted_Scenes.fgd(https://developer.valvesoftware.com/wiki/Condition_Zero_Deleted_Scenes.fgd)整理.
// 并基于modchina_2008cs.fgd进行部分内容汉化.
// 如果遇到问题,请联系littledongdong@foxmail.com
// QQ:1072372186
// 冬冬制作.
//
//
// Converting brush entities into point entities:
//   Make a point entity where you would like.
//   Write down the origin of the entity.
//   Change the name of the entity to the func_* one you would like.
//   Add the corresponding model to the model key field.
//   Treat "body" and "skin" how you would with a normal studiomodel entity.
//   Make sure you add the "origin" of your point
//     entity to this one as they don't get saved by default.
//  WARNING:
//    You will not be able to see the entity next time you
//      load it on Hammer. Next time you save, the origin will be erased.
////////////////////////////////////////////////////////////////////////////////

@SolidClass = worldspawn : "全局实体"
[
	maptier(integer) : "Map Tier"
	message(string) : "地图描述 / 标题"
	skyname(string) : "天空背景 (cl_skyname)"
	sounds(integer) : "播放CD音轨" : 0
	light(integer) : "默认光线等级"
	WaveHeight(integer) : "默认波浪高度"
	MaxRange(integer) : "最大可视范围" : 8192
	chaptertitle(string) : "关卡开始文字"
	lightmultiplier(integer) : "Light multiplier"
	radfile(string) : "Radfile (unused/unneeded?)"
	mapversion(integer) : "Map Version" : 220
	startdark(choices) : "关卡开始由黑色渐入" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	newunit(choices) : "新回合状态设置" : 0 =
	[
		0 : "保持原有状态"
		1 : "恢复初始状态"
	]
	minTime(integer) : "Minimum wind time delay"
	minWindX(integer) : "Maximum x axis wind"
	minWindY(integer) : "Maximum Y axis wind"
	maxTime(integer) : "Maximum wind time delay"
	maxWindX(integer) : "Maximum x axis wind"
	maxWindY(integer) : "Maximum Y axis wind"
]

@BaseClass studio() = FuncAddition
[
	model(studio) : "Model (if not brush)"
	body(integer) : "Body (if not brush)"
	origin(string) : "Origin (XYZ) (if not brush)"
	style(choices) : "Texlight style" : 0 =
	[
		0 : "Normal"
		-3 : "Grouped"
		10 : "Fluorescent flicker"
		2 : "Slow, strong pulse"
		11 : "Slow pulse, noblack"
		5 : "Gentle pulse"
		1 : "Flicker A"
		6 : "Flicker B"
		3 : "Candle A"
		7 : "Candle B"
		8 : "Candle C"
		4 : "Fast strobe"
		9 : "Slow strobe"
		12 : "Underwater"
	]
]

@BaseClass base(FuncAddition) = Func2
[
	skin(integer) : "Skin (if not brush)"
]

@BaseClass = BeamStartEnd
[
	LightningStart(target_destination) : "Start Entity"
	LightningEnd(target_destination) : "Ending Entity"
]

@BaseClass = Global
[
	globalname(string) : "全局实体名称"
]

@BaseClass studio() = ModelFile
[
	model(studio) : "Model"
	body(integer) : "Body" : 0
	skin(integer) : "Skin" : 0
]

@BaseClass = ZHLT
[
	zhlt_lightflags(choices) :"灯光标志 (Zhlt 2.2+)" : 0 =
	[
              0: "普通"
              1: "内含"
              2: "不透明 (光块)"
              3: "不透明 + 内含"
              6: "不透明 + 凹陷"

	]
	zhlt_customshadow(integer) : "Shadow Transparency" : 0
	light_origin(string) : "灯光起源 (Zhlt 2.2+)"
]

@BaseClass = RenderFxChoices
[
	renderfx(choices) : "渲染效果" : 0 =
	[
              0: "普通"
              1: "缓慢节奏"
              2: "快速节奏"
              3: "缓慢宽节奏"
              4: "快速宽节奏"
              9: "缓慢滤波"
              10: "快速滤波"
              11: "更快滤波"
              12: "缓慢闪烁"
              13: "快速闪烁"
              5: "缓慢渐隐"
              6: "快速渐隐"
              7: "缓慢渐显"
              8: "快速渐显"
              14: "持续发光动画 (Sprites)"
              15: "扭曲模型 (Models)"
              16: "全息图 (扭曲 + 渐隐)"
	]
]

@BaseClass base(RenderFxChoices) = RenderFields
[
	rendermode(choices) : "渲染模式" : 0 =
	[
              0: "普通(无光)"
              1: "纯颜色"
              2: "纹理(微光)"
              3: "发光(仅sprites)"
              4: "固体(无光)"
              5: "附加"

	]
	renderamt(integer) : "透明度 (1 - 255)" : 0
	rendercolor(color255) : "渲染色 (R G B)" : "0 0 0"
	lightmultiplier(integer) : "Light multiplier"
]

@BaseClass = Master
[
	master(target_destination) : "属主"
]

@BaseClass = Target
[
	target(target_destination) : "目标"
]

@BaseClass = Targetname
[
	targetname(target_source) : "名称"
]

@BaseClass = Netname
[
	netname(target_destination) : "Ent-Specific Target"
]

@BaseClass = Classtype
[
	classtype(string) : "Class type (TS1/TS2/CTS1/CTS2/CIV)"
]

@BaseClass base(Target) = Targetx
[
	delay(string) : "引发前延时" : "0.0"
	killtarget(target_destination) : "删除目标"
]

@BaseClass = Angles
[
	Angles(string) : "倾斜旋转角度 (Y Z X)" : "0 0 0"
]

@BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster
[
	TriggerTarget(target_destination) : "TriggerTarget"
	TriggerCondition(Choices) : "Trigger Condition" : 0 =
	[
		0 : "No Trigger"
		1 : "See Player, Mad at Player"
		2 : "Take Damage"
		3 : "50% Health Remaining"
		4 : "Death"
		7 : "Hear World"
		8 : "Hear Player"
		9 : "Hear Combat"
		10 : "See Player Unconditional"
		11 : "See Player, Not In Combat"
	]
	spawnflags(flags) =
	[
		1 : "WaitTillSeen" : 0
		2 : "Gag" : 0
		4 : "MonsterClip" : 0
		16 : "Prisoner" : 0
		128 : "WaitForScript" : 0
		256 : "Pre-Disaster" : 0
		512 : "Fade Corpse" : 0
	]
	fadespeed(integer) : "Fade Speed"
	deathfadedelay(integer) : "Death Fade Delay"
	deathfade(integer) : "Death Fade"
	deathangle(integer) : "Death Angle"
	deathanim(string) : "Death animation name"
	deathtrigger(target_destination) : "Death Trigger"
	deadanim(string) : "Dead animation name"
	language(string) : "语言 (AM, SP, JA)"
	cantmove(choices) : "Movement" : 0 =
	[
		0 : "Normal"
		1 : "1 (Sniper/No Movement)"
		2 : "2 (Turret)"
	]
	weaponaccuracy(integer) : "Weapon accuracy"
	healthmult(string) : "增加生命值"
	netname(target_destination) : "Netname"
		unkillable(integer) : "无敌(可被打中并出血)0或1"
		invulnerable(integer) : "无敌(空气人,打不着)0或1"
	idleanim(string) : "Idle anim name"
	cower(integer) : "Cower"
	head(integer) : "Head"
	provoke(integer) : "Provoke"
	usetarget(choices) : "Use Target" : "none" =
	[
		"none" : "none"
		"null" : "null"
		"null_null_null_null" : "null_null_null_null"
		"_is_null" : "_is_null"
		"nullnullnull" : "nullnullnull"
	]
	alertable(choices) : "Alertable" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapons(choices) : "Weapons (?)" : 0 =
	[
		0 : "0 (?)"
		32 : "32 (?)"
		64 : "64 (?)"
	]
	silentdeath(choices) : "Silent Death" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	behavior(integer) : "Behavior (?)"
	count(integer) : "Count"
	lightmultiplier(integer) : "Light multiplier"
	sequencename(string) : "Sequence name"
	nopvs(choices) : "Include in Potentially Visible Set (PVS)" : 0 =
	[
		0 : "Yes"
		1 : "No"
	]
	dontfall(integer) : "Don't Fall to Floor"
	m_iszEntity(target_destination) : "Target Monster"
	dropchance(string) : "Chance of drop" : "0.0"
	dropitem(choices) : "Drop" : 0 =
	[
		"0" : "No Weapon"
		"weapon_aug" : "Steyr Aug"
		"weapon_blowtorch" : "BlowTorch"
		"weapon_briefcase" : "Briefcase"
		"weapon_camera" : "Camera"
		"weapon_deagle" : "Desert Eagle"
		"weapon_elite" : "Elite"
		"weapon_fiberobticcamera" : "Fiber Optic Camera"
		"weapon_flashbang" : "FlashBang"
		"weapon_g3sg1" : "G3SG1"
		"weapon_hegrenade" : "HE Grenade"
		"weapon_knife" : "Knife"
		"weapon_mp5navy" : "Mp5 Navy"
		"weapon_m60" : "M60"
		"weapon_m4a1" : "Colt Carbine M4A1"
		"weapon_radio" : "Radio"
		"weapon_radiocontrolledbomb" : "Radio Controlled Bomb"
		"weapon_scout" : "Steyr Scout"
		"weapon_sg552" : "SIG552"
		"weapon_smokegrenade" : "Smoke Grenade"
		"weapon_ump45" : "H&K Ump45"
		"weapon_xm1014" : "Xm1014"
		"weapon_awp" : "Artic Warfare Magnum"
		"weapon_c4" : "C4"
		"weapon_usp" : "Usp"
		"weapon_ak47" : "Ak47"
		"weapon_laws" : "M72 LAW"
		"ammo_338magnum" : "ammo_338magnum"
		"ammo_357sig" : "ammo_357sig"
		"ammo_45acp" : "ammo_45acp"
		"ammo_45cp" : "ammo_45cp"
		"ammo_50ae" : "ammo_50ae"
		"ammo_556nato" : "ammo_556nato"
		"ammo_556natobox" : "ammo_556natobox"
		"ammo_57mm" : "ammo_57mm"
		"ammo_762nato" : "ammo_762nato"
		"ammo_762natobox" : "ammo_762natobox"
		"ammo_9mm" : "ammo_9mm"
		"ammo_buckshot" : "ammo_buckshot"
		"ammo_generic" : "ammo_generic"
	]
]

@BaseClass base(Targetname, Target, Global, Master, RenderFields, Angles, ZHLT) = Breakable
[
	gibentityvelocity(integer) : "Gib velocity"
	gibdirection(string) : "Gib Direction"
	target(target_destination) : "破碎后引发目标"
	delay(string) : "引发前延时" : "0.0"
	health(integer) : "耐久度"
	material(choices) : "材质" : 0 =
	[
              //* 模型: models/glassgibs.mdl
              //* 破裂声音: debris/bustglassX.wav
              //* 反弹声音: debris/glassX.wav
              0: "玻璃"
              //* 模型: models/woodgibs.mdl
              //* 破裂声音: debris/bustcrateX.wav
              //* 反弹声音: debris/woodX.wav
              1: "木质"
              //* 模型: models/metalplategibs.mdl
              //* 破裂声音: debris/bustmetalX.wav
              //* 反弹声音: debris/metalX.wav
              2: "金属"
              //* 模型: models/fleshgibs.mdl
              //* 破裂声音: debris/bustfleshX.wav
              //* 反弹声音: debris/fleshX.wav
              3: "肉体"
              //* 模型: models/cindergibs.mdl
              //* 破裂声音: debris/bustconcreteX.wav
              //* 反弹声音: debris/concreteX.wav
              4: "砖块" 
              //* 模型: models/ceilinggibs.mdl
              //* 破裂声音: debris/bustceilingX.wav
              //* 反弹声音: none
              5: "瓷砖"
              //* 模型: models/computergibs.mdl
              //* 破裂声音: debris/bustmetalX.wav
              //* 反弹声音: debris/woodX.wav
              //* 注意: 在破损是发出声音
              6: "电脑"
              //* 模型: models/glassgibs.mdl
              //* 破裂声音: debris/bustglassX.wav
              //* 反弹声音: debris/glassX.wav
              //* 注意: 破损时产生弹跳声音
              7: "防弹玻璃"
              //* 模型: models/rockgibs.mdl
              //* 破裂声音: debris/bustconcreteX.wav
              //* 反弹声音: debris/concreteX.wav
              8: "石头"
	]
	explosion(choices) : "碎片散发方向" : 0 =
	[
		0 : "随机"
		1 : "攻击者方向"
	]
	gibmodel(studio) : "碎片模型" : ""
	spawnobject(choices) : "破碎产生的物体" : 0 =
	[
              0: "(0)无,可试着填数字"
              1: "(1)盔甲"
              2: "(2)药包"
              9: "(9)散弹枪弹药"
	]
	explodemagnitude(integer) : "爆炸范围 (0=无)" : 0
	explodespritescale(integer) : "爆炸spr缩放" : 0
	//添加于2016-8-17 13:18:22
	grenadetouch(integer) : "Grenade Touch (?)" : 0
	//this is what weapon or item can damage this breakable
	//...for example...
	//if you put grenade in this area, it will only be broken by a grenade attack
	onlydamagedby(choices) : "Only damaged by" : "" =
	[
		"" : "Nothing"
		"weapon_blowtorch" : "Blow Torch"
		"weapon_knife" : "Knife"
		"weapon_hegrenade" : "HE Grenade"
		"bomb" : "Radio Controlled Bomb"
		"weapon_laws" : "M72 LAW"
		"laws_rocket" : "火箭弹"
		//添加于2016-8-7 17:51:16
	]
	skin(choices) : "Contents" : 0 =
	[
		0 : "Normal"
		-1 : "Empty"
		-2 : "Solid"
		-3 : "Water"
		-4 : "Slime"
		-5 : "Lava"
		-16 : "Ladder"
	]
]

@BaseClass base(Targetname, Global, Target, RenderFields, Angles) = BaseTank
[
	// 大概使用1009组设置 (game_team_master)
	master(target_destination) : "(队) 属主"

	spawnflags(flags) =
	[
		1 : "自动控制" : 0
        16: "按照指定" : 0
        32: "玩家控制" : 0
	]
       yawrate(string) : "左右转动速度" : "30"
       yawrange(string) : "左右转动范围" : "180"
       yawtolerance(string) : "左右转动偏差" : "15"
       pitchrate(string) : "上下转动速度" : "0"
       pitchrange(string) : "上下转动范围" : "0"
       pitchtolerance(string) : "上下转动偏差" : "5"
       barrel(string) : "轴心长度" : "0"
       barrely(string) : "轴心宽度" : "0"
       barrelz(string) : "轴心高度" : "0"
       spritesmoke(sprite) : "烟雾动画(Sprite)" : ""
       spriteflash(sprite) : "火花动画(Sprite)" : ""
       spritescale(string) : "动画比例(Sprite)" : "1"
       rotatesound(sound) : "旋转声音" : ""
       firerate(string) : "射速" : "1"
       bullet_damage(string) : "每发子弹伤害力" : "0"
       persistence(string) : "持续射击时间" : "1"
       firespread(choices) : "子弹精确度" : 0 =
	[
              0: "完美"
              1: "较好"
              2: "一般"
              3: "较差"
              4: "极差"

	]
	minRange(string) : "最小目标范围" : "0.0"
	maxRange(string) : "最大目标范围" : "0.0"
	_minlight(integer) : "最小灯光等级" : 0
]

@BaseClass base(Targetname, Target, Targetx, Global, Master, RenderFields, Angles, ZHLT) = Door
[
	speed(integer) : "Speed" : 100
	movesnd(choices) : "Move Sound" : 0 =
	[
              0: "无声"
              1: "辅助 (变化)"
              2: "气动 (变化)"
              3: "气动 (滚动)"
              4: "真空门"
              5: "水压驱动门"
              6: "大滚动的门"
              7: "轨道门"
              8: "爽快的金属门"
              9: "吱吱响的门 1"
              10: "吱吱响的门 2"
 
	]
	stopsnd(choices) : "Stop Sound" : 0 =
	[
              0: "无声"
              1: "叮当响停止"
              2: "叮当混响效果"
              3: "齿轮效果"
              4: "结实的门"
              5: "轻型空气制动"
              6: "金属滑动停止装置"
              7: "金属制动锁效果"
              8: "轻快金属停止效果"

	]
	wait(integer) : "关闭前延时(-1 暂停打开)" : 0
       lip(integer) : "露出的尺寸" : 0
       dmg(integer) : "夹住玩家造成的伤害" : 0
       message(string) : "引发时显示的信息"
       netname(string) : "关闭时引发"
       health(integer) : "耐久度(开放射击)" : 0

	spawnflags(flags) =
	[
        1 : "开始时打开" : 0
        4 : "不连结" : 0
        8: "允许通过" : 0
        2: "不自动关闭" : 0
        256: "只能引发" : 0

	]
	locked_sound(choices) : "锁定的声音" : 0 =
	[
        0: "无声"
        2: "拒绝访问声音"
        8: "咝咝声"
        10: "嗡嗡声"
        11: "挂断电话效果"
        12: "门闩声音"

	]
	unlocked_sound(choices) : "解锁的声音" : 0 =
	[
       //* 声音例子 "buttons/button10.wav".
        0: "无声"
        1: "夸张的咝咝声"
        3: "访问通过声音"
        4: "快速连串声音"
        5: "断电声音效果 1"
        6: "断电声音效果 2"
        7: "活塞"
        8: "小的咝咝声"
        9: "钥匙卡声音"
        10: "嗡嗡响声音"
        13: "拉开门闩"
		14 : "Lightswitch"
	]
	locked_sentence(choices) : "锁定的方式" : 0 =
	[
        0: "无"
        1: "信息(拒绝访问)"
        2: "安全锁定"
        3: "防爆门效果"
        4: "防火门效果"
        5: "防化门效果"
        6: "防射线门效果"
        7: "信息(围堵)"
        8: "维护门效果"
        9: "破损关门效果"
		10 : "Buzz"
		11 : "Buzz Off"
		12 : "Latch Locked"
	]
	unlocked_sentence(choices) : "解锁的方式" : 0 =
	[
        0: "无"
        1: "信息(访问通过)"
        2: "安全打开"
        3: "防爆门效果"
        4: "防火门效果"
        5: "防化门效果"
        6: "防射线门效果"
        7: "信息(围堵)"
        8: "维护门效果"

	]
	_minlight(integer) : "最小灯光等级" : 0
	skin(choices) : "Contents" : 0 =
	[
		0 : "Normal"
		-1 : "Empty"
		-2 : "Solid"
		-3 : "Water"
		-4 : "Slime"
		-5 : "Lava"
		-16 : "Ladder"
	]
	explodemagnitude(integer) : "Explosion Magnitude"
]

@BaseClass size(-16 -16 -16, 16 16 16) base(Targetname, Angles) = gibshooterbase
[
	m_iGibs(integer) : "产生碎片数量" : 0
	delay(string) : "喷射前延时" : "0.0"
	m_flVelocity(string) : "碎片速度" : "0.0"
	m_flVariance(string) : "方向变化程度" : "0.0"
	m_flGibLife(string) : "碎片存在时间(秒)" : "4.0"
	spawnflags(flags) =
	[
		1 : "可重复的" : 0
	]
]

@PointClass base(gibshooterbase) = gibshooter : "Gib Shooter" []
//添加于2016-7-27 19:50:32

@BaseClass = Light
[
	_light(color255) : "光线(颜色亮度)" : "255 255 255 200"
	style(choices) : "光线样式 (不允许命名)" : 0 =
	[
		0 : "普通"
		-3 : "Grouped"
		10 : "荧光闪烁"
		2 : "缓慢而强大的节奏"
		11 : "不变黑的缓慢节奏"
		5 : "温和的节奏"
		1 : "闪烁  A"
		6 : "闪烁  B"
		3 : "烛光 A"
		7 : "烛光 B"
		8 : "烛光 C"
		4 : "快速滤波"
		9 : "缓慢滤波"
		12 : "水下"
	]
	pattern(string) : "自定义外观(a-z)"
	_fade(integer) : "淡入淡出 (仅ZHLT)" : 1
	_color(string) : "Color scale (0-1)" : "1.000000 1.000000 1.000000"
	_falloff(Choices) : "衰减模式 (仅ZHLT)" : 0 =
	[
        0 : "默认"
        1 : "线性"
        2 : "几何"

	]
	spawnflags(flags) =
	[
		1 : "Initially dark" : 0
	]
	dot_product_weight(integer) : "Dot product weight" : 0
	spherical_ambient(integer) : "Spherical Ambient" : 0
	angle_hotspot(integer) : "Angle Hotspot" : 0
	falloff_curvature(integer) : "Falloff curvature" : 0
	angle_penumbra(integer) : "Angle Pnumbra" : 0
	falloff_start_dist(integer) : "Falloff Start Distance" : 0
	falloff_end_dist(integer) : "Falloff End Distance" : 0
]

@BaseClass = PlatSounds
[
	movesnd(choices) : "Move Sound" : 0 =
	[
		0: "静音"
		//* plats/bigmove1.wav
		1: "正常工业电梯声1"
		//* plats/bigmove2.wav
		2: "正常工业电梯声2"
		//* plats/elevmove1.wav
		3: "危险状态电梯声1"
		//* plats/elevmove2.wav
		4: "危险状态电梯声2"
		//* plats/elevmove3.wav
		5: "危险状态电梯声3"
		//* plats/freightmove1.wav
		6: "运送声 1"
		//* plats/freightmove2.wav
		7: "运送声 2"
		//* plats/heavymove1.wav
		8: "沉重运送声"
		//* plats/rackmove1.wav
		9: "架子运送声"
		//* plats/railmove1.wav
		10: "通过横栏运送声"
		//* plats/squeekmove1.wav
		11: "工业机械运作声"
		//* plats/talkmove1.wav
		12: "有撞击声的运送 1"
		//* plats/talkmove2.wav
		13: "有撞击声的运送 2"

	]
	stopsnd(choices) : "Stop Sound" : 0 =
	[
		0: "静音"
		//* plats/bigstop1.wav
		1: "正常工业电梯停止1"
		//* plats/bigstop2.wav
		2: "正常工业电梯停止2"
		//* plats/freightstop1.wav
		3: "伴随金属撞击的停止"
		//* plats/heavystop2.wav
		4: "沉重的停止"
		//* plats/rackstop1.wav
		5: "架子停止运送"
		//* plats/railstop1.wav
		6: "横栏同时停止"
		//* plats/squeekstop1.wav
		7: "工业机械停止"
		//* plats/talkstop1.wav
		8: "有撞击声的快速停止"

	]
	volume(string) : "音量 0.0 - 1.0" : 0
]

@BaseClass size(-16 -16 -36, 16 16 36) color(0 255 0) base(Angles) = PlayerClass []

@BaseClass base(Classtype, Targetname, Global, RenderFields, PlatSounds) = Trackchange
[
	height(integer) : "传送高度" : 0
	spawnflags(flags) =
	[
		1: "自动激活列车" : 0
		2: "重新连接轨道" : 0
		8: "从末端开始" : 0
		16: "只能旋转" : 0
		64: "X轴" : 0
		128: "Y轴" : 0

	]
       //* rotation is the amount in degrees the track will turn to line up with the new track.
       rotation(integer) : "旋转范围" : 0
       train(target_destination) : "列车转换"
       //* toptrack is the Name (targetname) of the last path_corner-track in the upper area, or last area, of the track.
       toptrack(target_destination) : "顶部轨道"
       //* bottomtrack is the Name (targetname) of the first path_corner-track in the lower area, or next area, of the track
       bottomtrack(target_destination) : "底部轨道"
       //* speed is the speed in units per second that the track platform will move downward.
       //* (If the #16 Rotate Only flag is set, this is just the speed of rotation).
       speed(integer) : "运动或旋转的速度" : 0
//*
//* The first path_track-corner should not have a Next stop target (target). Instead, where it says Fire on
//* dead end (netname), enter a value equal to the Name (targetname) of the func_trackautochange. Now, when
//* the train reaches the path_track-corner, it will stop, then activate the func_trackautochange.
//* When the it gets to the bottom, the train will continue on to the next path_track-corner defined
//* by Bottom track (bottomtrack) in the func_trackautochange properties.
//*

]

@BaseClass base(Targetname, Master, Target) = Trigger
[
	delay(string) : "Delay before trigger" : "0.0"
	killtarget(target_destination) : "Kill target"
	netname(target_destination) : "Target Path"
	style(integer) : "Style" : 32
	sounds(choices) : "Sound style" : 0 =
	[
		0 : "No Sound"
	]
	message(string) : "Message (set sound too)"
	spawnflags(flags) =
	[
		4 : "Pushables" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// AISCRIPTED ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) = aiscripted_sequence : "AI Scripted Sequence"
[
	m_iszEntity(target_destination) : "Target Monster"
	m_iszPlay(string) : "动作名称" : ""
	m_flRadius(string) : "Search Radius" : "512.0"
	m_flRepeat(string) : "重复间隔(秒)" : "0.0"
	m_fMoveTo(Choices) : "移动到目的地" : 0 =
	[
		0 : "否"
		1 : "走"
		2 : "奔跑"
		4 : "瞬移"

		5 : "否.面向目标"
	]
	m_iFinishSchedule(Choices) : "AI Schedule when done" : 0 =
	[
		0 : "Default AI"
		1 : "Ambush"
	]
	spawnflags(flags) =
	[
		4 : "可重复引发" : 0
		8 : "Leave Corpse" : 0
		32 : "No Interruptions" : 0
		128 : "No Script Movement" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// AMBIENT ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Angles) iconsprite("sprites/CS/AmbientGeneric.spr") = ambient_generic : "Universal Ambient"
[
	message(sound) : "声音路径/文件声音.wav of WAV"
	health(integer) : "音量 (10 = 高声)" : 10
	preset(choices) :"动态调整" : 0 =
	[
		0: "无"
		1: "巨大机械"
		2: "大型机械"
		3: "机械"
		4: "缓慢淡入"
		5: "淡入"
		6: "快速淡入"
		7: "缓慢节奏"
		8: "节奏"
		9: "快速节奏"
		10: "缓慢震荡"
		11: "震荡"
		12: "快速震荡"
		13: "最沉音调"
		14: "很沉音调"
		15: "沉音调"
		16: "高音调"
		17: "很高音调"
		18: "尖叫"
		19: "震荡旋转或下降"
		20: "节奏旋转或下降"
		21: "随意倾斜"
		22: "随意快速定音"
		23: "旋转递增"
		24: "反响播放"
		25: "杂乱"
		26: "X行星"
		27: "难受的"

	]
		volstart(integer) : "开始音量" : 0
		fadein(integer) : "淡入时间 (0-100)" : 0
		fadeout(integer) : "淡出时间 (0-100)" : 0
		//*main pitch frequency
		pitch(integer) : "定音 (> 100 = 更高)" : 100
		//*begin pitch 
		pitchstart(integer) : "开始定音" : 100
		//*how fast to change from begin pitch to main pitch.
		spinup(integer) : "旋转到高音 (0-100)" : 0
		//*how fast to go back down from main pitch to nothing.
		spindown(integer) : "旋转到低音 (0-100)" : 0
		//*LFO = low frequency oscillator.
		//*type of sound wave, sqr will jump back and forth between low and high pitch, tri has sharp transitions, and rnd has smooth transitions. 
		lfotype(integer) : "重低音类型0关1sqr2tri3rnd" : 0
		//*rate is the frequency (how often the LFO effect repeats itself).
		lforate(integer) : "重低音速度 (0-1000)" : 0
		//*how much pitch change, This effect is commonly called "vibrato" in music and song. 
		lfomodpitch(integer) : "重低音定音 (0-100)" : 0
		//*how strong a "pulse" of volume rather than a wavering pitch.
		lfomodvol(integer) : "重低音音量 (0-100)" : 0
		//*cspinup is unknown to me.
		cspinup(integer) : "增加旋转程度" : 0
		
	spawnflags(flags) =
	[
		1: "随机播放" : 0
//*small is <~800 units range
		2: "小范围" : 0
//* Medium is the default radius, so ticking this does nothing. <~1250 units
		4: "中范围" : 1
//*large is <~2000 units range
		8: "大范围" : 0
		16:"开始静音":0
		32:"不循环":0

	]
]

////////////////////////////////////////////////////////////////////////////////
// AMMO ENTITIES
////////////////////////////////////////////////////////////////////////////////

@BaseClass base(RenderFields, Angles) = Ammo
[
	numclip(integer) : "Number of clips"
]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_338magnum : ".338 Lapua Magnum Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_357sig : ".357 SIG Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_45acp : ".45 ACP Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_45cp : ".45 CP Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_50ae : ".50 Action Express Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_556nato : "5.56mm NATO Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_556natobox : "5.56mm NATO Box Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_57mm : "5.7mm Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_762nato : "7.62mm NATO Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_9mm : "9mm Parabellum Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_buckshot : "12 Gauge Ammo"[]

@PointClass base(Ammo) iconsprite("sprites/CS/Ammo.spr") = ammo_generic : "Generic Ammo"[]

////////////////////////////////////////////////////////////////////////////////
// BUTTON ENTITIES
////////////////////////////////////////////////////////////////////////////////

@SolidClass base(Master, Target, Angles, RenderFields, ZHLT) = button_target : "Target Button"
[
	spawnflags(flags) =
	[
		1 : "Use Activates" : 1
		2 : "Start On" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// CYCLER ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Angles, RenderFields) studio() = cycler : "Monster Cycler"
[
	model(studio) : "Model"
	skin(integer) : "Skin" : 0
	body(integer) : "Body" : 0
	health(integer) : "Health" : 0
	framerate(string) : "Framerate multiplier" : "1.0"
	sequence(integer) : "Animation #" : 0
]

@PointClass base(Targetname, Angles, RenderFields) studio() = cycler_sprite : "Sprite Cycler"
[
	model(studio) : "Model"
	skin(integer) : "Skin" : 0
	body(integer) : "Body" : 0
	health(integer) : "Health" : 0
	framerate(string) : "Framerate multiplier" : "1.0"
	sequence(integer) : "Animation #" : 0
	controller(string) : "Controllers 0-255" : "0 0 0 0"
]

@PointClass base(Targetname) = cycler_weapon : "cycler_weapon"
[
	model(studio) : "Model"
]

@PointClass sprite() base(Targetname, Angles, RenderFxChoices) size(-4 -4 -4, 4 4 4) = cycler_wreckage : "Wreckage"
[
	rendermode(choices) : "Render Mode" : 2 =
	[
		0 : "Normal"
		1 : "Color"
		2 : "Texture"
		3 : "Glow"
		4 : "Solid"
		5 : "Additive"
	]
	renderamt(integer) : "FX Amount (1 - 255)" : 0
	rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
	framerate(integer) : "Framerate" : 10
	model(sprite) : "Sprite Name" : "sprites/dot.spr"
	scale(string) : "Scale" : "1.0"
	spawnflags(flags) =
	[
		32 : "Toggle" : 0
		64 : "Start On" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// 点实体火车
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Global, RenderFields, ZHLT, FuncAddition) = func_train : "Moving platform"
[
	target(target_source) : "开始的路径点"
	movesnd(choices) : "移动声音" : 0 =
	[
		0: "无"
		1: "大电梯1"
		2: "大电梯2"
		3: "电梯1"
		4: "电梯2"
		5: "电梯3"
		6: "货梯1"
		7: "货梯2"
		8: "重型电梯"
		9: "行李电梯"
		10: "简易电梯"
		11: "吱呀"
		12: "临时电梯1"
		13: "临时电梯2"
	]
	stopsnd(choices) : "停止声音" : 0 =
	[
		0: "无"
		1: "大电梯1"
		2: "大电梯2"
		3: "货梯"
		4: "重型电梯"
		5: "行李电梯"
		6: "简易电梯"
		7: "吱呀"
		8: "快速"
	]
	speed(integer) : "速度" : 64
	avelocity(string) : "Angular velocity (Y Z X)" : "0 0 0"
	dmg(integer) : "伤害力" : 0
	skin(choices) : "内容 (如果不是固体)" : 0 =
	[
		 0 : "default"
		-1 : "Empty"
		-3 : "water, swimable train"
		-4 : "odd slime: touch drowning death"
		-5 : "odd lava: touch fire death"
		-7 : "Volumetric Light"
		-16 : "make odd ladder"
	]
	volume(integer) : "Sound Volume 0.0 - 1.0" : 0
	spawnflags(flags) =
	[
		8 : "非固体" : 0
	]
	_minlight(integer) : "最小灯光等级" : 0
]

////////////////////////////////////////////////////////////////////////////////
// ENV ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass iconsprite("sprites/CS/EnvBeam.spr") base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect"
[
	renderamt(integer) : "亮度 (1 - 255)" : 100
	rendercolor(color255) : "光波颜色 (R G B)" : "0 0 0"
	//* If you only give the beam one endpoint, then radius will specifies how
	//* far away the other endpoint should be (randomly) placed.
	Radius(integer) : "有效范围" : 256
	life(string) : "光线持续时间(秒)0=无限" : "1"
	BoltWidth(integer) : "光波宽度 (像素乘0.1 0-255)" : 20
	NoiseAmplitude(integer) : "噪点数量 (0-255)" : 0
	texture(sprite) : "动画文件" : "sprites/laserbeam.spr"
	TextureScroll(integer) : "纹理滚动速度 (0-100)" : 35
	framerate(integer) : "每10秒播放帧数" : 0
	framestart(integer) : "开始帧数" : 0
	StrikeTime(string) : "发射间隔时间 (秒)" : "1"
	damage(string) : "每秒伤害力" : "0"

	spawnflags(flags) =
	[
		//* This is the default unless you specify a name.
		1 : "开始时发射"              : 0
		2 : "锁定"              : 0
		4 : "随机发射"       : 0
		//* Makes the beam form a circle, with a diameter that stretches between the two endpoints.
		//* For some unknown reason, both endpoints must have a model.
		//* NB: because the beam will stretch between the origins of the two entities, you'll
		//* need to give each endpoint an origin brush.
		8 : "环形光"                     : 0
		5: "测试1"                       : 0
		16: "发射处冒火花"              : 0
		32: "接受处冒火花"              : 0
		64: "绘制痕迹"              : 0
		//* The beam fades in from nothing, like a tracer bullet.
		128: "开始点淡入"              : 0
		256: "结束点淡入"              : 0

	]
]

@PointClass iconsprite("sprites/CS/EnvBeverage.spr") base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser"
[
	health(integer) : "Capacity" : 10
	skin(choices) : "Beverage Type" : 0 =
	[
		0 : "可口可乐"
		1 : "雪碧"
		2 : "Diet Coke"
		3 : "橙汁"
		4 : "Surge"
		5 : "Moxie"
		6 : "随机"
	]
]

@PointClass iconsprite("sprites/CS/EnvBlood.spr") base(Targetname, Angles) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects"
[
	color(choices) : "血迹颜色" : 0 =
	[
		0 : "Red (Human)"
	]
	amount(integer) : "Amount of blood (damage to simulate)" : 100
	spawnflags(flags) =
	[
		1 : "Random Direction" : 0
		2 : "Blood Stream" : 0
		4 : "On Player" : 0
		8 : "Spray decals" : 0
	]
]

@SolidClass base(Targetname) = env_bubbles : "Bubble Volume"
[
	density(integer) : "Bubble density" : 2
	frequency(integer) : "Bubble frequency" : 2
	current(integer) : "Speed of Current" : 0
	spawnflags(flags) =
	[
		1 : "Start Off" : 0
	]
]

@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/EnvSpark.spr") = env_debris : "Spark"
[
	MaxDelay(string) : "Max Delay" : "0.0"
	spawnflags(flags) =
	[
		32 : "Toggle" : 0
		64 : "Start On" : 0
	]
]

@PointClass base(Targetname) iconsprite("sprites/CS/EnvExplosion.spr") = env_explosion : "Explosion"
[
	magnitude(Integer) : "Magnitude (magnitude)" : 0
	iMagnitude(Integer) : "Magnitude (iMagnitude)" : 0
	spawnflags(flags) =
	[
		1 : "No Damage" : 0
		2 : "Repeatable" : 0
		4 : "No Fireball" : 0
		8 : "No Smoke" : 0
		16 : "No Decal" : 0
		32 : "No Sparks" : 0
	]
	firesprite(sprite) : "Fire sprite"
	spritescale(integer) : "Sprite scale"
	scale(string) : "Scale" : "1.0"
	skin(integer) : "Skin"
]

@PointClass iconsprite("sprites/CS/EnvFade.spr") base(Targetname) = env_fade : "Screen Fade"
[
	spawnflags(flags) =
	[
		1 : "Fade From" : 0
		2 : "Modulate" : 0
		4 : "Activator Only" : 0
	]
	duration(string) : "Duration (seconds)" : "2.0"
	holdtime(string) : "Hold Fade (seconds)" : "0.0"
	renderamt(integer) : "Fade Alpha" : 255
	rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
]


// Will cause objective failure when triggered
@PointClass base(Targetname) = env_missionfailure : "Failure Management"
[
	message(string):"Message in MAPNAME.seq"
	music(string) : "Music"
	rendercolor(color255) : "Render color" : "0 0 0"
	renderamt(integer) : "Render amount"
	fade_alpha(integer) : "Screen Fade Opacity"
	loadtime(string) : "Load time"
	holdtime(string) : "Hold time"
	duration(string) : "Duration"
]

@PointClass iconsprite("sprites/CS/EnvFog.spr") base(Targetname) = env_fog : "Global Fog Properties"
[
       fadein(integer) : "淡入时间" : 0
       holdtime(string) : "持续时间 (0 = 永久)" : "0"
       fadeout(integer) : "淡出时间" : 0
	rendercolor(color255) : "雾化颜色 (R G B)" : "0 0 0"
        density(integer):"浓度 (0.0-1.0) 0=Default"
	fogStartDistance(integer):"雾化开始位置"
	fogStopDistance(integer):"雾化结束位置"
	spawnflags(flags)=
	[
		1: "开始时激活" : 0
	]
]

@PointClass iconsprite("sprites/CS/EnvFunnel.spr") base(Targetname) = env_funnel : "Large Portal Funnel"
[
	spawnflags(flags) =
	[
		1 : "Reverse" : 0
	]
]

@PointClass iconsprite("sprites/CS/EnvGlobal.spr") base(Targetname) = env_global : "Global State"
[
	globalstate(string) : "Global State to Set"
	triggermode(choices) : "Trigger Mode" : 0 =
	[
		0 : "Off"
		1 : "On"
		2 : "Dead"
		3 : "Toggle"
	]
	initialstate(choices) : "Initial State" : 0 =
	[
		0 : "Off"
		1 : "On"
		2 : "Dead"
	]
	spawnflags(flags) =
	[
		1 : "Set Initial State" : 0
	]
]

@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze"
[
	model(sprite) : "model" : "sprites/glow01.spr"
	scale(string) : "Sprite Scale" : "1.0"
]

@PointClass iconsprite("sprites/CS/EnvBeam.spr") base(Targetname, RenderFxChoices, Angles)  = env_laser : "Laser Beam Effect"
[
	LaserTarget(target_destination) : "Target of Laser"
	renderamt(integer) : "Brightness (1 - 255)" : 100
	rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
	width(integer) : "Width of beam (pixels*0.1 0-255)" : 20
	NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
	texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr"
	EndSprite(sprite) : "End Sprite" : ""
	TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 0
	framestart(integer) : "Starting Frame" : 0
	damage(integer) : "Damage / second" : 100
	spawnflags(flags) =
	[
		1 : "Start On" : 0
		16 : "StartSparks" : 0
		32 : "EndSparks" : 0
		64 : "Decal End" : 0
	]
]

@PointClass iconsprite("sprites/CS/EnvLiveAmmoShooter.spr") base(Targetname, Target, Angles) = env_liveammoshooter : "Live Ammo Shooter"
[
	type(choices) : "Ammo Type" : "" =
	[
		"hegrenade" : "HE Grenade"
		"smokegrenade" : "Smoke Grenade"
		"flashbang" : "Flashbang" // Value assumed
		"lawrocket" : "M72 LAW Rocket"

	]
	m_flGibLife(string) : "Gib life" : 0
	shootsounds(choices) : "Shoot Sounds" : 0 =
	[
		-1 : "None"
		0 : "Default"
		1 : "?"
	]
	quiet(choices) : "Quiet" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	velmod(string) : "Velocity mod" : "1.0"
	spawnflags(flags) =
	[
		1 : "(?)" : 0
	]
]

@PointClass iconsprite("sprites/CS/EnvMessage.spr") base(Targetname, Target) = env_message : "HUD Text Message"
[
	message(string) : "Message Name"
	spawnflags(flags) =
	[
		1 : "Play Once" : 0
		2 : "All Clients" : 0
	]
	messagesound(sound) : "Sound effect"
	messagevolume(integer) : "Volume 0-10" : 10
	messageattenuation(Choices) : "Sound Radius" : 0 =
	[
		0 : "Small Radius"
		1 : "Default"
		2 : "Large  Radius"
		3 : "Play Everywhere"
	]
]

@PointClass iconsprite("sprites/CS/EnvParticleEmitter.spr") base(Targetname, Angles, RenderFields) = env_particle_emitter : "Particle Emitter"
[
	vis_point(string) : "Vis Point" : "none"
	target_direction(string) : "Target Direction" : "none"
	scale_speed(integer) : "Scale Speed" : 0
	fade_speed(integer) : "Fade Speed" : 0
	frequency(integer) : "Frequency" : 0
	particle_texture(sprite) : "Particle Sprite"
	particle_avelocity(string) : "Angular Velocity" : "0 0 0"
	particle_life(integer) : "Particle Life" : 0
	particle_scale(integer) : "Particle Scale" : 0
	particle_gravity(integer) : "Particle Gravity 1.0 - 0.0" : 0
	particle_count(integer) : "Particle Count" : 0
	particle_noise(integer) : "Particle Noise" : 0
	particle_speed(integer) : "Particle Speed" : 0
	target_origin(string) : "Target Origin" : "none"
]

@SolidClass base(Targetname, RenderFields) = env_rain : "Rain Entity"[]

@PointClass iconsprite("sprites/CS/EnvRender.spr") base(Targetname, Target, RenderFields, Targetx, Angles) = env_render : "Render Controls"
[
	spawnflags(flags) =
	[
		1 : "No Renderfx" : 0
		2 : "No Renderamt" : 0
		4 : "No Rendermode" : 0
		8 : "No Rendercolor" : 0
	]
	removeonuse(choices) : "Remove on use" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	skin(integer) : "Skin"
	head(integer) : "Head"
]

@PointClass iconsprite("sprites/CS/EnvShake.spr") base(Targetname) = env_shake : "Screen Shake"
[
	spawnflags(flags) =
	[
		1 : "全图地震" : 0
	]
	amplitude(string) : "振幅 0-16" : "4.0"
	radius(string) : "作用范围" : "500.0"
	duration(string) : "持续时间 (秒)" : "1.0"
	frequency(string) : "地震强度0.1 = jerk, 255.0 = rumble" : 0
]

@PointClass iconsprite("sprites/CS/EnvShooter.spr") base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter"
[
	shootmodel(studio) : "Model" : ""
	shootsounds(choices) :"Material Sound" : -1 =
	[
		-1 : "None"
		0 : "Glass"
		1 : "Wood"
		2 : "Metal"
		3 : "Flesh"
		4 : "Concrete"
	]
	scale(string) : "Gib Scale" : "1.0"
	skin(integer) : "Gib Skin" : 0
]

@PointClass iconsprite("sprites/CS/EnvSmoker.spr") base(Targetname) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_smoker : "Smoke"
[
	health(integer) : "Strength" : 1
	scale(string) : "Smoke Scale" : "1.0"
]

@SolidClass base(Targetname, RenderFields) = env_snow : "Environmental snow"
[
	spawnflags(flags) =
	[
		1 : "Start On" : 0
	]
]

@PointClass iconsprite("sprites/CS/EnvSound.spr")  = env_sound : "DSP Sound"
[
	radius(integer) : "影响范围(0-8192)" : 128
	roomtype(Choices) : "声音效果" : 0 =
	[
		0 : "无"
		1 : "普通"

		2 : "金属(小)"
		3 : "金属(中)"
		4 : "金属(大)"

		5 : "地道(小)"
		6 : "地道(中)"
		7 : "地道(大)"

		8 : "房间(小)"
		9 : "房间(中)"
		10: "房间(大)"

		11: "活跃(小)"
		12: "活跃(中)"
		13: "活跃(大)"

		14: "水下(小)"
		15: "水下(中)"
		16: "水下(大)"

		17: "混凝土(小)"
		18: "混凝土(中)"
		19: "混凝土(大)"

		20: "增大(小)"
		21: "增大(中)"
		22: "增大(大)"

		23: "回音(小)"
		24: "回音(中)"
		25: "回音(大)"

		26: "屋顶(小)"
		27: "屋顶(中)"
		28: "屋顶(大)"

	]
]

@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/EnvSpark.spr") = env_spark : "Spark"
[
	MaxDelay(string) : "火花延时" : "0.0"
	spawnflags(flags) =
	[
		32 : "锁定" : 0
		64 : "开始打开" : 0
	]
]

@PointClass sprite() base(Targetname, Angles, RenderFields) size(-4 -4 -4, 4 4 4) = env_sprite : "Sprite Effect"
[
	framerate(string) : "播放速度" : "0.0"
	model(sprite) : "图标或模型"
	scale(string) : "比例" : "0.0"
	TriggerTarget(target_destination) : "TriggerTarget"	TriggerCondition(Choices) : "Trigger Condition" : 0 =
	[
		0 : "No Trigger"
		1 : "See Player, Mad at Player"
		2 : "Take Damage"
		3 : "50% Health Remaining"
		4 : "Death"
		7 : "Hear World"
		8 : "Hear Player"
		9 : "Hear Combat"
		10 : "See Player Unconditional"
		11 : "See Player, Not In Combat"
	]
	spawnflags(flags) =
	[
		1 : "开始打开" : 0
		2 : "只播放一次" : 0
	]

]

////////////////////////////////////////////////////////////////////////////////
// FUNC ENTITIES
////////////////////////////////////////////////////////////////////////////////

@SolidClass = func_bomb_target : "Bomb target zone"
[
	target(target_destination) : "Target (when bomb blows)"
]

@SolidClass base(Breakable, Func2) = func_breakable : "Breakable"
[
	spawnflags(flags) =
	[
		1 : "只能引发" : 0
		2 : "可撞碎" : 0
		4 : "可踩碎" : 0
		8 : "粉末状玻璃" : 0	//2016年7月26日 10:47:55添加
		256 : "铁钩/刀立即打碎" : 1
	]
	_minlight(integer) : "最小灯光等级" : 0
]


@SolidClass base(Door, Netname, Func2) = func_button : "Button"
[
	// Path Target overrides Targetted Object
	sounds(choices) : "Sounds" : 0 =
	[
		0 : "None"
		1 : "Big zap & Warmup"
		2 : "Access Denied"
		3 : "Access Granted"
		4 : "Quick Combolock"
		5 : "Power Deadbolt 1"
		6 : "Power Deadbolt 2"
		7 : "Plunger"
		8 : "Small zap"
		9 : "Keycard Sound"
		10 : "Buzz"
		11 : "Buzz Off"
		14 : "Lightswitch"
	]
	spawnflags(flags) =
	[
		1 : "不移动" : 0
		4 : "(?)" : 0
		8 : "(?)" : 0
		32 : "锁定" : 0
		64 : "冒火花" : 0
		256 : "接触即可引发" : 0
	]
]

@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT, Func2) = func_conveyor : "Conveyor Belt"
[
	spawnflags(flags) =
	[
		1 : "不推动" : 0
		2 : "非固体" : 0
	]
	speed(string) : "搬运速度" : "100"
	_minlight(integer) : "最小灯光等级" : 0
]

@SolidClass base(Door, ZHLT, Func2) = func_door : "Basic door" []

@SolidClass base(func_door, Func2) = func_door_rotating : "Rotating door"
[
	spawnflags(flags) =
	[
		2 : "反向转动" : 0
		16 : "只朝一个方向打开" : 0
		64 : "X 轴" : 0
		128 : "Y 轴" : 0
	]
	distance(integer) : "转动角度 (deg)" : 90
]

@SolidClass = func_escapezone : "Terrorist escape zone" []

@SolidClass base(RenderFields, ZHLT, Func2) = func_friction : "Surface w/ Friction Change"
[
	modifier(integer) : "摩擦力 (0 - 100)" : 15
]

@SolidClass = func_grencatch : "Grenade Catch"
[
	triggerongrenade(string) : "Trigger When Grenade Hits"
	grenadetype(choices) : "Grenade Type" : 0 =
	[
		0 : "Flash Grenade"
		1 : "Smoke Grenade"
		2 : "HE Grenade (Supported?)"
	]
	disableongrenade(string) : "Disable On Grenade"
]

@SolidClass base(Targetname, Global, RenderFields, ZHLT, Func2) = func_guntarget : "Moving Platform"
[
	target(target_source) : "First stop target"
	speed(integer) : "Speed (units per second)" : 100
	message(target_source) : "Fire on damage"
	health(integer) : "耐久度" : 0
	_minlight(integer) : "最小灯光等级" : 0
]

@SolidClass base(Global, RenderFields, ZHLT, Func2) = func_healthcharger : "Wall Health Recharger"
[
	_minlight(integer) : "最小灯光等级" : 0
]

@SolidClass = func_hostage_rescue : "Hostage Rescue Zone" []

@SolidClass base(Targetname, RenderFields, ZHLT, Angles, FuncAddition) = func_illusionary : "Fake Wall/Light"
[

	skin(choices) : "Contents" : 0 =
	[
		0 : "Illusionary"
		-1 : "空"
		-2 : "Solid"
		-3 : "Water"
		-4 : "Slime"
		-5 : "Lava"
		-16 : "Ladder"
	]
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Targetname) = func_ladder : "Ladder" []

@SolidClass base(Target) = func_model_brush : "Model brush"[]

@SolidClass base(Targetname) = func_monsterclip : "Monster clip brush" []

@SolidClass base(Targetname) = func_mortar_field : "Mortar Field"
[
	m_flSpread(integer) : "范围" : 64
	m_iCount(integer) : "重复次数" : 1
	m_fControl(Choices) : "对象" : 0 =
	[
		0 : "随机"
		1 : "激活者"
		2 : "桌面"
	]
	m_iszXController(target_destination) : "X控制者"
	m_iszYController(target_destination) : "Y控制者"
]

@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, FuncAddition) = func_pendulum : "Swings back and forth"
[
	speed(integer) : "速度" : 100
	distance(integer) : "摆动角度 (deg)" : 90
	damp(integer) : "阻力 (0-1000)" : 0
	dmg(integer) : "伤害力" : 0
	spawnflags(flags) =
	[
		1 : "开始打开" : 0
		8 : "非固体" : 0
		16 : "自动返回" : 0
		64 : "X轴" : 0
		128 : "Y轴" : 0
	]
	_minlight(integer) : "_minlight" : 0
	skin(choices) : "Contents" : -1 =
	[
		 0 : "default"
		-1 : "Empty"
		-3 : "water"
		-4 : "slime: touch drown"
		-5 : "lava: touch fire death"
		-7 : "Volumetric Light"
		-16 : "make ladder"
	]
]

@SolidClass base(Targetname, Global, RenderFields, PlatSounds, ZHLT, Func2) = func_plat : "Elevator"
[
	spawnflags(flags) =
	[
		1 : "Toggle" : 0
	]
	height(integer) : "Travel altitude (can be negative)" : 0
	speed(integer) : "Speed" : 50
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, PlatSounds, Func2) = func_platrot : "Moving Rotating platform"
[
	spawnflags(flags) =
	[
		1 : "Toggle" : 1
		64 : "X Axis" : 0
		128 : "Y Axis" : 0
	]
	speed(integer) : "Speed of rotation" : 50
	height(integer) : "Travel altitude (can be negative)" : 0
	rotation(integer) : "Spin amount" : 0
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Breakable, RenderFields, ZHLT, Func2) = func_pushable : "Pushable object"
[
	size(choices) : "Hull Size" : 0 =
	[
		0 : "Point size"
		1 : "Player size"
		2 : "Big Size"
		3 : "Player duck"
	]
	spawnflags(flags) =
	[
		128 : "Breakable" : 0
		256 : "Instant Crowbar" : 1
	]
	friction(integer) : "Friction (0-400)" : 50
	bouyancy(integer) : "Bouyancy" : 20
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Global, RenderFields, ZHLT, Func2) = func_recharge : "Battery recharger"
[
	// dmdelay(integer) : "Deathmatch recharge delay" : 0
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Targetname, Global, Master, Target, Angles, RenderFields, ZHLT, Func2) = func_rot_button : "RotatingButton"
[
	delay(string) : "Delay before trigger" : "0"
	// changetarget will change the button's target's TARGET field to the button's changetarget.
	changetarget(target_destination) : "ChangeTarget Name"
	speed(integer) : "Speed" : 50
	health(integer) : "Health (shootable if > 0)"
	sounds(choices) : "Sounds" : 21 =
	[
		21 : "Squeaky"
		22 : "Squeaky Pneumatic"
		23 : "Ratchet Groan"
		24 : "Clean Ratchet"
		25 : "Gas Clunk"
	]
	wait(choices) : "Delay before reset" : 0 =
	[
		-1 : "Stays pressed"
		0 : "..."
	]
	distance(integer) : "Distance (deg)" : 90
	spawnflags(flags) =
	[
		1 : "Not solid" : 0
		2 : "Reverse Dir" : 0
		32 : "Toggle" : 0
		64 : "X Axis" : 0
		128 : "Y Axis" : 0
		256 : "Touch Activates" : 0
	]
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, Func2) = func_rotating : "Rotating Object"
[
	speed(integer) : "Rotation Speed" : 0
	volume(integer) : "Volume (10 = loudest)" : 10
	fanfriction(integer) : "Friction (0 - 100%)" : 20
	sounds(choices) : "Fan Sounds" : 0 =
	[
		0 : "No Sound"
		1 : "Fast Whine"
		2 : "Slow Rush"
		3 : "Medium Rickety"
		4 : "Fast Beating"
		5 : "Slow Smooth"
	]
	message(sound) : "WAV Name"
	spawnflags(flags) =
	[
		1 : "Start On" : 0
		2 : "Reverse Direction" : 0
		4 : "X Axis" : 0
		8 : "Y Axis" : 0
		16 : "Acc/Dcc" : 0
		32 : "Fan Pain" : 0
		64 : "Not Solid" : 0
		128 : "Small Radius" : 0
		256 : "Medium Radius" : 0
		512 : "Large Radius" : 1
	]
	_minlight(integer) : "Minimum light level" : 0
	spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
	dmg(integer) : "Damage inflicted when blocked" : 0
]

@SolidClass base(BaseTank, ZHLT, Func2) = func_tank : "Brush Gun Turret"
[
	bullet(choices) : "Bullets" : 0 =
	[
		0 : "None"
		1 : "9mm"
		2 : "MP5"
		3 : "12mm"
	]
	bulet(choices) : "Bulet (?)" : 0 =
	[
		0 : "None"
		1 : "9mm"
		2 : "MP5"
		3 : "12mm"
	]
]

@SolidClass = func_tankcontrols : "Tank controls"
[
	target(target_destination) : "Tank entity name"
]

@SolidClass base(BaseTank, ZHLT, Func2) = func_tanklaser : "Brush Laser Turret"
[
	laserentity(target_source) : "env_laser Entity"
]

@SolidClass base(BaseTank, ZHLT, Func2) = func_tankmortar : "Brush Mortar Turret"
[
	iMagnitude(Integer) : "Explosion Magnitude" : 100
]

@SolidClass base(Trackchange) = func_trackautochange : "Automatic track changing platform"
[
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Trackchange, ZHLT, Func2) = func_trackchange : "Train track changing platform"
[
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, Func2) = func_tracktrain : "Track Train"
[
	spawnflags(flags) =
	[
		1 : "No Pitch (X-rot)" : 0
		2 : "No User Control" : 0
		8 : "Not Solid" : 0
	]
	target(target_destination) : "First stop target"
	sounds(choices) : "Sound" : 0 =
	[
		0 : "None"
		1 : "Rail 1"
		2 : "Rail 2"
		3 : "Rail 3"
		4 : "Rail 4"
		5 : "Rail 6"
		6 : "Rail 7"
	]
	wheels(integer) : "Distance between the wheels" : 50
	height(integer) : "Height above track" : 4
	startspeed(integer) : "Initial speed" : 0
	speed(integer) : "Speed (units per second)" : 64
	dmg(integer) : "Damage on crush" : 0
	volume(integer) : "Volume (10 = loudest)" : 10
	bank(string) : "Bank angle on turns" : "0.0"
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass studio() size(-16 -16 -16, 16 16 16) base(Targetname, Global, RenderFields, ZHLT, FuncAddition) = func_train : "Moving platform"
[
	target(target_source) : "开始的路径点"
	movesnd(choices) : "移动声音" : 0 =
	[
		0: "无"
		1: "大电梯1"
		2: "大电梯2"
		3: "电梯1"
		4: "电梯2"
		5: "电梯3"
		6: "货梯1"
		7: "货梯2"
		8: "重型电梯"
		9: "行李电梯"
		10: "简易电梯"
		11: "吱呀"
		12: "临时电梯1"
		13: "临时电梯2"
	]
	stopsnd(choices) : "停止声音" : 0 =
	[
		0: "无"
		1: "大电梯1"
		2: "大电梯2"
		3: "货梯"
		4: "重型电梯"
		5: "行李电梯"
		6: "简易电梯"
		7: "吱呀"
		8: "快速"
	]
	speed(integer) : "速度" : 64
	avelocity(string) : "Angular velocity (Y Z X)" : "0 0 0"
	dmg(integer) : "伤害力" : 0
	skin(choices) : "内容 (如果不是固体)" : 0 =
	[
		 0 : "default"
		-1 : "Empty"
		-3 : "water, swimable train"
		-4 : "odd slime: touch drowning death"
		-5 : "odd lava: touch fire death"
		-7 : "Volumetric Light"
		-16 : "make odd ladder"
	]
	volume(integer) : "Sound Volume 0.0 - 1.0" : 0
	spawnflags(flags) =
	[
		8 : "非固体" : 0
	]
	_minlight(integer) : "最小灯光等级" : 0
]

@SolidClass = func_traincontrols : "Train Controls"
[
	target(target_destination) : "Train Name"
]

@SolidClass base(Targetname, Angles, RenderFields, ZHLT, Func2) = func_vehicle : "Drivable Vehicles"
[
	spawnflags(flags) =
	[
		1 : "No Pitch (X-rot)" : 0
		2 : "No User Control" : 0
		8 : "Not Solid" : 0
	]
	target(target_destination) : "First stop target"
	sounds(choices) : "Sound" : 0 =
	[
		0 : "None"
		1 : "Vehicle 1"
		2 : "Vehicle 2"
		3 : "Vehicle 3"
		4 : "Vehicle 4"
		5 : "Vehicle 6"
		6 : "Vehicle 7"
	]
	length(integer) : "Length of the vehicle" : 256
	width(integer) : "Width of the vehicle" : 128
	height(integer) : "Height above track" : 4
	startspeed(integer) : "Initial speed" : 0
	speed(integer) : "Speed (units per second)" : 64
	dmg(integer) : "Damage on crush" : 0
	volume(integer) : "Volume (10 = loudest)" : 10
	bank(string) : "Bank angle on turns" : "0.0"
	_minlight(integer) : "Minimum light level" : 0
]

@SolidClass = func_vehiclecontrols : "Vehicle Controls"
[
	target(target_destination) : "Vehicle Name"
]

@SolidClass = func_vip_safetyzone : "VIP Safety Zone" []

@SolidClass base(Breakable, FuncAddition) = func_wall : "Wall"
[
	_minlight(integer) : "Minimum light level" : 0
	style(choices) : "Texlight style" : 0 =
	[
		0 : "Normal"
		-3 : "Grouped"
		10 : "Fluorescent flicker"
		2 : "Slow, strong pulse"
		11 : "Slow pulse, noblack"
		5 : "Gentle pulse"
		1 : "Flicker A"
		6 : "Flicker B"
		3 : "Candle A"
		7 : "Candle B"
		8 : "Candle C"
		4 : "Fast strobe"
		9 : "Slow strobe"
		12 : "Underwater"
	]
	skin(choices) : "Contents" : 0 =
	[
		0 : "Normal"
		-1 : "Empty"
		-2 : "Solid"
		-3 : "Water"
		-4 : "Slime"
		-5 : "Lava"
		-16 : "Ladder"
	]
	health(integer) : "Health"
]

@SolidClass base(func_wall) = func_wall_toggle : "Toggleable geometry"
[
	spawnflags(flags) =
	[
		1 : "Starts Invisible" : 0
	]
]

@SolidClass base(Door, FuncAddition) = func_water : "Liquid"
[
	spawnflags(flags) =
	[
		1 : "开始时打开" : 0
		256:"只能引发" : 0
	]
	skin(choices) : "内容" : -3 =

	[
		0 : "Default"
		-1 : "Empty"
		-3: "水"
		-4: "粘液"
		-5: "岩浆"

		-16 : "Ladder (only with non-! texture)"
	]
	WaveHeight(integer) : "Wave Height"
]

////////////////////////////////////////////////////////////////////////////////
// GAME PLAYER ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/GameCounter.spr") = game_counter : "Fires when it hits limit"
[
	spawnflags(flags) =
	[
		1 : "Remove On fire" : 0
		2 : "Reset On fire" : 1
	]
	master(string) : "Master"
	frags(integer) : "Initial Value" : 0
	health(integer) : "Limit Value" : 10
]

@PointClass base(Targetname, Target) iconsprite("sprites/CS/GameCounterSet.spr") = game_counter_set : "Sets a game_counter"
[
	spawnflags(flags) =
	[
		1 : "Remove On fire" : 0
	]
	master(string) : "Master"
	frags(integer) : "New Value" : 10
]

@PointClass base(Targetname) iconsprite("sprites/CS/GamePlayerEquip.spr") = game_player_equip : "Initial player equipment"
[
	master(string) : "Team Master"
	playerhealth(integer) : "# HP"
	spawnflags(flags) =
	[
		1 : "Use Only" : 0
	]
	nightvision(choices) : "Give Nightvision" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_briefcase(choices) : "Give Briefcase" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_knife (choices) : "Give Knife" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_radio (choices) :"Give Radio" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_usp (choices) : "Give USP45 (45acp Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	ammo_generic(integer) : "Give generic ammo #"
	weapon_radiocontrolledbomb (choices) : "Give RC Bomb" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_blowtorch (choices) : "Give Blow Torch" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_laws(choices) : "Give law rocket shooter":0=
	[
		0:"No"
		1:"Yes"
	]
	weapon_fiberopticcamera (choices) : "Give FO Camera" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_camera (choices) : "Give Camera" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
	weapon_glock18 (choices) : "Give Glock 18 (9mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_deagle (choices) : "Give Desert Eagle (50ae Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_p228 (choices) : "Give P-228 (357sig Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_elite (choices) : "Give Beretta Elites (9mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_fiveseven (choices) : "Give Five-Seven (57mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_m3 (choices) : "Give Benelli M3 (12 Gauge)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_xm1014 (choices) : "Give Benelli XM1014 (12 Gauge)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_mp5navy (choices) : "Give MP5/Navy (9mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_tmp (choices) : "Give TMP (9mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_p90 (choices) : "Give FN P90 (57mm Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_mac10 (choices) : "Give Mac-10 (45acp Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_ump45 (choices) : "Give UMP 45 (45acp Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_ak47 (choices) : "Give AK-47 (762nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_sg552 (choices) : "Give SG552 (556nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_m4a1 (choices) : "Give M4A1 (556nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_aug (choices) : "Give Aug (556nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_scout (choices) : "Give Scout (762nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_awp (choices) : "Give AWP (338magnum Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_g3sg1 (choices) : "Give G3/SG-1 (762nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_sg550 (choices) : "Give SG550 (556nato Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_m249 (choices) : "Give M249 (556natobox Calibre)" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	item_kevlar (choices) : "Give Kevlar Vest" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	item_assaultsuit (choices) : "Give Kevlar Vest+Ballistic Helmet" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_flashbang (choices) : "Give Flash Bang" : 0 =
	[
		0 : "No"
		1 : "1"
		2 : "2"
	]

	weapon_hegrenade (choices) : "Give High-Explosive Grenade" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_smokegrenade (choices) : "Give Smoke Grenade" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	item_thighpack (choices) : "Give Defuse Kit" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	weapon_c4 (choices) : "Give C4 Plastique Bomb" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]

	ammo_9mm (choices) : "Give 9mm Parabellum Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (30 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips (Fill Glock 18)"
		4 : "4 Clips (Fill Elites, MP5 & TMP)"
	]

	ammo_45acp (choices) : "Give .45 ACP Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (12 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips"
		4 : "4 Clips (Fill USP45)"
		5 : "5 Clips"
		6 : "6 Clips"
		7 : "7 Clips"
		8 : "8 Clips (Fill Mac-10)"
		9 : "9 Clips (Fill UMP 45)"
	]

	ammo_50ae (choices) : "Give .50 Action Express Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (7 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips"
		4 : "4 Clips"
		5 : "5 Clips (Fill Desert Eagle)"
	]

	ammo_57mm (choices) : "Give 5.7mm Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (50 Bullets Per Clip)"
		2 : "2 Clips (Fill Five-Seven & P90)"
	]

	ammo_357sig (choices) : "Give .357 SIG Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (13 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips"
		4 : "4 Clips (Fill P-228)"
	]

	ammo_buckshot (choices) : "Give 12 Gauge Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (8 Shells Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips"
		4 : "4 Clips (Fill Benelli M3, XM1014)"
	]

	ammo_762nato (choices) : "Give 7.62mm NATO Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (30 Bullets Per Clip)"
		2 : "2 Clips (Fill Scout & G3/S-G1)"
		3 : "3 Clips (Fill AK-47)"
	]

	ammo_556nato (choices) : "Give 5.56mm NATO Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (30 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Fill SG552 M4A1 Aug SG550"
	]

	ammo_556natobox (choices) : "Give 5.56mm NATO Box Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (30 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips"
		4 : "4 Clips"
		5 : "5 Clips"
		6 : "6 Clips"
		7 : "7 Clips (Fill FN M249 Para)"
	]

	ammo_338magnum (choices) : "Give .338 Lapua Magnum Ammo" : 0 =
	[
		0 : "No"
		1 : "1 Clip (10 Bullets Per Clip)"
		2 : "2 Clips"
		3 : "3 Clips (Fill AWP)"
	]

	item_healthkit (choices) : "Give Health Kit" : 0 =
	[
		0 : "+0 HP"
		1 : "+15 HP"
		2 : "+30 HP"
		3 : "+45 HP"
		4 : "+60 HP"
		5 : "+75 HP"
		6 : "+90 HP"
		7 : "+100 HP"
	]

	item_battery (choices) : "Give Armor" : 0 =
	[
		0 : "+0 AP"
		1 : "+15 AP"
		2 : "+30 AP"
		3 : "+45 AP"
		4 : "+60 AP"
		5 : "+75 AP"
		6 : "+90 AP"
		7 : "+100 AP"
	]
	item_longjump (choices) : "Give Long Jump Module (Supported?)" : 0 =
	[
		0 : "No"
		1 : "Yes (An Unrealistic Item)"
	]
	item_armor(choices) : "Give Armor" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
]

@PointClass base(Targetname) iconsprite("sprites/CS/GamePlayerHurt.spr") = game_player_hurt : "Hurts player who fires"
[
	master(string) : "Master"
	dmg(string) : "Damage To Apply" : "999"
	spawnflags(flags) =
	[
		1 : "Remove On fire" : 0
	]
]

@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/GameTeamMaster.spr") = game_team_master : "Team based master/relay"
[
	spawnflags(flags) =
	[
		1: "引发后清除" : 0
	]
	triggerstate(choices) : "引发状态" : 0 =
	[
		0: "关闭"
		1: "打开"
		2: "锁定"

	]
	teamindex(integer) : "Team Index (-1 = no team)" : -1
	master(string) : "Master"
]

@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/GameTeamSet.spr") = game_team_set : "Sets team of team_master"
[
	spawnflags(flags) =
	[
		1 : "Remove On fire" : 0
	]
	master(string) : "Master"
]

@PointClass base(Targetname, Target) iconsprite("sprites/CS/GameText.spr") = game_text : "HUD Text Message"
[
	spawnflags(flags) =
	[
		1: "所有玩者" : 0
	]

	message(string) : "信息文本"
	x(string) : "水平位置(-1,0,1)" : "-1"
	y(string) : "垂直位置(-1,0,1)" : "-1"
	effect(Choices) : "文本效果" : 0 =
	[
		0 : "淡入淡出"
		1 : "普通"
		2 : "扫描"
	]
	color(color255) : "颜色1" : "100 100 100"
	color2(color255) : "颜色2" : "240 110 0"
	fadein(string) : "淡入时间" : "1.5"
	fadeout(string) : "淡出时间" : "0.5"
	holdtime(string) : "显示时间" : "1.2"
	fxtime(string) : "扫描时间(scan effect only)" : "0.25"
	channel(choices) : "频道" : 1 =
	[
		1 : "1"
		2 : "2"
		3 : "3"
		4 : "4"
	]
	master(string) : "属主"
]

@SolidClass base(Targetname) = game_zone_player : "Player Zone"
[
	intarget(target_destination) : "Target for IN players"
	outtarget(target_destination) : "Target for OUT players"
	incount(target_destination) : "Counter for IN players"
	outcount(target_destination) : "Counter for OUT players"
	// master(string) : "Master"
]

////////////////////////////////////////////////////////////////////////////////
// INFO ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass iconsprite("sprites/CS/HostageRescue.spr") = info_hostage_rescue : "Hostage rescue point" []

@PointClass base(Targetname, Angles) = info_landmark : "Transition Landmark" []

@PointClass base(Targetname) iconsprite("sprites/CS/EnvTarget.spr")  = info_null : "info_null (spotlight target)" []

@PointClass base(Angles) size(-24 -24 -4, 24 24 4) color(255 255 0) = info_node : "ai node"
[
	hinttype(integer) : "Hint type"
]

@PointClass base(info_node) size(-32 -32 0, 32 32 64) color(255 255 0) = info_node_air : "ai air node" []

@PointClass base(PlayerClass) size(-16 -16 -36, 16 16 36) color(0 0 255) = info_player_start : "Player start" []

@PointClass = info_camera : "Info Camera"
[
	targetname(string) : "Name"
	target(string) : "Target"
]

@PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) color(200 100 50) iconsprite("sprites/CS/EnvTarget.spr") = info_target : "Beam Target" []

@PointClass size(-8 -8 0, 8 8 16) base(Targetname, PlayerClass) = info_teleport_destination : "Teleport destination" []

@PointClass color(255 128 0) = info_texlights : "Texture Light Config" []

@PointClass decal() base(Targetname, Angles) = infodecal : "Decal"
[
	texture(decal)
]

////////////////////////////////////////////////////////////////////////////////
// ITEM ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass iconsprite("sprites/CS/Armoury.spr") base(Angles) = item_armor : "Armor"[]

@PointClass studio() base(Angles, Targetname, ModelFile, RenderFields) = item_generic
[
	removeonuse(integer) : "Remove on use" : 0
	lightmultiplier(integer) : "Light Multiplier" : 0
	sequencename(string) : "Sequence Name"
	scale(integer) : "Scale"
	nopvs(choices) : "Include in Potentially Visible Set(PVS)" : 0 =
	[
		0 : "Yes"
		1 : "No"
	]
]

@PointClass = item_healthkit : "HealthKit" []

////////////////////////////////////////////////////////////////////////////////
// LIGHT ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass iconsprite("sprites/lightbulb.spr") base(Targetname, Target, Light) = light : "Invisible lightsource" []

@PointClass base(Targetname, Target, Light) iconsprite("sprites/CS/LightEnvironment.spr")  = light_environment : "Environment"
[
	angles(string) : "倾斜旋转角度 (Y Z X)" : "0 270 0"
	pitch(integer) : "倾斜" : -90
	_diffuse_light(color255) : "Diffuse Light" : "0 0 0 0"
]

@PointClass base(Targetname, Target, Angles, Light) iconsprite("sprites/CS/LightSpot.spr") = light_spot : "Spotlight"
[
	pitch(integer) : "Pitch" : -90
	_cone(integer) : "Inner (bright) angle" : 30
	_cone2(integer) : "Outer (fading) angle" : 45
	_sky(Choices) : "Is Sky" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
]

////////////////////////////////////////////////////////////////////////////////
// MOMENTARY ENTITIES
////////////////////////////////////////////////////////////////////////////////

@SolidClass base(Door, ZHLT) = momentary_door : "Momentary/Continuous door"
[
	spawnflags(flags) =
	[
		1 : "Starts Open" : 0
	]
]

@SolidClass base(Targetname, Master, Angles, RenderFields, ZHLT) = momentary_rot_button : "Direct wheel control"
[
	target(target_destination) : "Targeted object"
	speed(integer) : "Speed" : 50
	sounds(choices) : "Sounds" : 0 =
	[
		0 : "None"
		1 : "Big zap & Warmup"
		2 : "Access Denied"
		3 : "Access Granted"
		4 : "Quick Combolock"
		5 : "Power Deadbolt 1"
		6 : "Power Deadbolt 2"
		7 : "Plunger"
		8 : "Small zap"
		9 : "Keycard Sound"
		10 : "Buzz"
		13 : "Latch Unlocked"
		21 : "Squeaky"
		22 : "Squeaky Pneumatic"
		23 : "Ratchet Groan"
		24 : "Clean Ratchet"
		25 : "Gas Clunk"
	]
	distance(integer) : "Distance (deg)" : 90
	returnspeed(integer) : "Auto-return speed" : 0
	spawnflags(flags) =
	[
		1 : "Door Hack" : 0
		2 : "Not usable" : 0
		16 : "Auto Return" : 0
		64 : "X Axis" : 0
		128 : "Y Axis" : 0
	]
	_minlight(integer) : "Minimum light level" : 0
]

////////////////////////////////////////////////////////////////////////////////
// MONSTER ENTITIES
////////////////////////////////////////////////////////////////////////////////

@BaseClass = Grenadier
[
	hegrenadeonly(choices) : "HE Grenade Only" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
]

@PointClass studio("models/props/helicopter_blackhawk.mdl") base(Monster, Angles, Classtype, ModelFile) = monster_apache : "Apache" []

@PointClass base(Monster, Angles, Classtype, ModelFile, Netname) = monster_counter_terrorist_repel : "CT Repel"
[
	repelskin(integer) : "Repel skin"
	repelhead(integer) : "Repel head"
	type(integer) : "Type (?)"
]

@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_assaultrifle : ""[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile)=monster_ct_gsg9_grenader:"CT GSG9 Grenader"
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_kamikaze : ""[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_kamakazi : ""[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_law : "CT GSG9 Law"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_machinegun : "CT GSG9 Machine Gun"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_melee : "CT GSG9 Melee"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_mp5 : "CT GSG9 MP5"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_pistol : "CT GSG9 Pistol"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_shotgun : "CT GSG9 Shotgun"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_smg : "CT GSG9 SMG"[]
@PointClass studio("models/gsg9_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_gsg9_sniperrifle : ""[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_assaultrifle : ""[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile)=monster_ct_spetsnaz_grenader:"CT Spetsnaz Grenader"
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_kamikaze : ""[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_kamakazi : ""[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_law : "CT Spetsnaz Law"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_machinegun : "CT Spetsnaz Machine Gun"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_melee : "CT Spetsnaz Melee"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_mp5 : "CT Spetsnaz MP5"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_pistol : "CT Spetsnaz Pistol"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_shotgun : "CT Spetsnaz Shotgun"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_smg : "CT Spetsnaz SMG"[]
@PointClass studio("models/spetsnaz_lo.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_spetsnaz_sniperrifle : "CT Spetsnaz Sniper Rifle"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_assaultrifle : ""[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile)=monster_ct_swat_grenader:"CT SWAT Grenader"
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_kamikaze : ""[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_kamakazi : ""[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_law : "CT SWAT Law"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_machinegun : "CT SWAT Machine Gun"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_melee : "CT SWAT Melee"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_mp5 : "CT SWAT MP5"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_pistol : "CT SWAT Pistol"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_shotgun : "CT SWAT Shotgun"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_smg : "CT SWAT SMG"[]
@PointClass studio("models/player/m1-seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster,Angles,Classtype,ModelFile) = monster_ct_swat_sniperrifle : ""[]
@PointClass studio() size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,ModelFile) = monster_furniture: "furniture"[]
@PointClass studio() base(Monster, RenderFields, ModelFile) size(-16 -16 -36, 16 16 36) = monster_generic : "Generic Script Monster"
[
	spawnflags(flags) =
	[
		4 : "Not solid" : 0
	]
	health(integer) : "Health"
	deathanim(string) : "Death Animation Name"
]

@PointClass base(Monster) = monster_tripmine : "Active Tripmine"
[
	spawnflags(flags) =
	[
		1 : "Instant On" : 1
	]
]

@PointClass base(Targetname) studio("models/miniturret.mdl") = monster_miniturret : "Mini Auto Turret"
[
	weaponaccuracy(integer) : "Weapon accuracy"//添加于2016-7-27 14:00:14
	orientation(Choices) : "Orientation" : 0 =
	[
		0 : "Floor Mount"
		1 : "Ceiling Mount"
	]
	maxsleep(integer) : "Time Before Deactivating" : 15
	spawnflags(flags) =
	[
		2:  "gag" : 0
		32 : "Autostart" : 0
		64 : "Start Inactive" : 0
	]
]

@PointClass base(Targetname) studio("models/turret.mdl") = monster_turret : "Turret"
[
	weaponaccuracy(integer) : "Weapon accuracy"//添加于2016-7-27 14:00:55
	orientation(Choices) : "Orientation" : 0 =
	[
		0 : "Floor Mount"
		1 : "Ceiling Mount"
	]
	maxsleep(integer) : "Time Before Deactivating" : 7
	spawnflags(flags) =
	[
		32 : "Autostart" : 0
		64 : "Start Inactive" : 0
	]
]

@PointClass base(Targetname) studio("models/sentry.mdl") = monster_sentry : "Sentry"
[
	spawnflags(flags) =
	[
		32 : "Autostart" : 0
		64 : "Start Inactive" : 0
	]
]

@PointClass base(Monster, Angles) studio("models/roach.mdl") = monster_cockroach : "Cockroach"
[
	spawnflags(flags) =
	[
		1 : "WaitTillSeen" : 0
		2 : "Gag" : 0
		4 : "MonsterClip" : 0
		16 : "Prisoner" : 0
		128 : "WaitForScript" : 0
		256 : "Pre-Disaster" : 0
		512 : "Fade Corpse" : 0
	]
]

@PointClass base(Monster, Angles) studio("models/rat.mdl") = monster_rat : "Rat"
[
	spawnflags(flags) =
	[
		1 : "WaitTillSeen" : 0
		2 : "Gag" : 0
		4 : "MonsterClip" : 0
		16 : "Prisoner" : 0
		128 : "WaitForScript" : 0
		256 : "Pre-Disaster" : 0
		512 : "Fade Corpse" : 0
	]
]

@PointClass studio("models/hostage.mdl") base(Angles, Targetname, PlayerClass, RenderFields) = monster_hostage : "Hostage"
[
	// Notice: Hostage model apparently depends on targetname
	// Targetnames seen:
	//  hostage_male1
	//  hostage_female1
	//  embassy_judge
	//  foxy_lady

	// Classtypes seen:
	//  CIV
	classtype(string) : "Team" : "CIV"
	skin(integer) : "Skin" : 0
	head(choices) : "Head" : 0 =
	[
		0 : "0 (?)"
		1 : "1 (?)"
		2 : "2 (?)"
		3 : "3 (?)"
		4 : "4 (?)"
	]
	// I saw a hostage with rescued target as a counter that targeted the hostage rescued sequence
	// the rescue target happens after the hostage is rescued
	// if there is more than 1 hostage in the map then set the countdown for the trigger_counter
	// to the amount of hostages needed to be rescued before the trigger will happen
	rescuetarget(target_destination) : "Rescue Target" : ""
	noautoremove(choices) : "Auto Remove on Rescue" : 0 =
	[
		0 : "Yes"
		1 : "No"
	]
	spawnflags(flags) =
	[
		2 : "(?)" : 0
	]
]

@PointClass studio() base(Monster, Angles, Classtype, ModelFile, Targetname) = monster_npc : "NPC" []

@PointClass studio() size(-16 -16 0, 16 16 72) color(255 255 255) base(Monster, Angles, Angles, ModelFile) = monster_npc_dead : "Dead NPC"
[
	pose(Choices) : "Pose" : 0 =
	[
		0 : "On back"
		1 : "Seated"
		2 : "On stomach"
		3 : "On Table"
	]
	//For instance...two maps I saw map had 64 and 32 as the weapons
	weapons(integer) : "Weapons" : 0
]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_assaultrifle : "ifle"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_arctic_grenader:""
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_kamikaze : ""[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_kamakazi : ""[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_law : "Terrorist Arctic Law"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_machinegun : "un"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_melee : "Terrorist Arctic Melee"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_mp5 : "Terrorist Arctic MP5"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_pistol : "Terrorist Arctic Pistol"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_shotgun : "Terrorist Arctic Shotgun"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_smg : "Terrorist Arctic SMG"[]

@PointClass studio("models/player/m1-arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_arctic_sniperrifle : "fle"[]


@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_assaultrifle : "ifle"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_asian_grenader:""
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_kamikaze : ""[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_kamakazi : ""[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_law : "Terrorist Asian Law"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_machinegun : "un"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_melee : "Terrorist Asian Melee"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_mp5 : "Terrorist Asian MP5"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_pistol : "Terrorist Asian Pistol"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_shotgun : "Terrorist Asian Shotgun"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_smg : "Terrorist Asian SMG"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_asian_sniperrifle : ""[]


@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_assaultrifle : "ifle"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_desert_grenader:""
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_kamikaze : ""[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_kamakazi : ""[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_law : "Terrorist Desert Law"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_machinegun : "un"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_melee : "Terrorist Desert Melee"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_mp5 : "Terrorist Desert MP5"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_pistol : "Terrorist Desert Pistol"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_shotgun : "Terrorist Desert Shotgun"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_smg : "Terrorist Desert SMG"[]

@PointClass studio("models/leet_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_desert_sniperrifle : "fle"[]


@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_assaultrifle : "ifle"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_jungle_grenader:""
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_kamikaze : ""[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_kamakazi : ""[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_law : "Terrorist Jungle Law"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_machinegun : "un"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_melee : "Terrorist Jungle Melee"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_mp5 : "Terrorist Jungle MP5"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_pistol : "Terrorist Jungle Pistol"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_shotgun : "Terrorist Jungle Shotgun"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_smg : "Terrorist Jungle SMG"[]

@PointClass studio("models/asian_lo.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_jungle_sniperrifle : ""[]


@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_assaultrifle : ""[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_russian_grenader:"r"
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_kamikaze : "e"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_kamakazi : ""[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_law : "Terrorist Russian Law"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_machinegun : "gun"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_melee : "Terrorist Russian Melee"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_mp5 : "Terrorist Russian MP5"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_pistol : "Terrorist Russian Pistol"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_shotgun : "Terrorist Russian Shotgun"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_smg : "Terrorist Russian SMG"[]

@PointClass studio("models/russian_bossB.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_russian_sniperrifle : ""[]


@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_assaultrifle : "ifle"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile)=monster_terrorist_urban_grenader:""
[
	hegrenadeonly(choices):"He Nade Only":0=
	[
		0:"No"
		1:"Yes"
	]
]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_kamikaze : ""[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_kamakazi : ""[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_law : "Terrorist urban Law"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_machinegun : "un"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_melee : "Terrorist urban Melee"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_mp5 : "Terrorist urban MP5"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_pistol : "Terrorist urban Pistol"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_shotgun : "Terrorist urban Shotgun"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_smg : "Terrorist urban SMG"[]

@PointClass studio("models/player/urban.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster,Angles,Classtype,ModelFile) = monster_terrorist_urban_sniperrifle : "fle"[]

@PointClass studio("models/w_tripmine.mdl") base(Angles)=monster_tripmine:"Trip Mine"[]


@PointClass size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Angles, Classtype, ModelFile) size(-16 -16 -16, 16 16 16) = monstermaker : "Monster Maker"
[
	target(target_destination) : "Target On Release"
	monstertype(string) : "Monster Type"
	netname(target_destination) : "Childrens' Name"
	forcedtarget(target_destination) : "Forced Target" : ""
	spawnflags(flags) =
	[
		1 : "Start On"  : 0
		2 : "PVS On/Off (NoImpl)" : 0
		4 : "Cyclic" : 0
		8 : "MonsterClip" : 0
	]
	body(integer) : "Body" : 0
	skin(integer) : "Skin" : 0
	monstercount(integer) : "Number of Monsters (-1 = unlimited)" : 1

	// if delay is -1, new monster will be made when last monster dies.
	// else, delay is how often (seconds) a new monster will be dookied out.
	delay(integer) : "Frequency (-1 = on child death)" : 5

	// maximum number of live children allowed at one time. (New ones will not be made until one dies)
	m_imaxlivechildren(integer) : "Max live children (-1 = unlimited)" : 5
	spawnawake(choices) : "Spawn awake" : 0 =
	[
		0 : "No (?)"
		1 : "Yes (?)"
	]
	dontspawninview(choices) : "Spawn in view" : 0 =
	[
		0 : "Yes"
		1 : "No"
	]
	monstermodel(studio) : "Monster model"
]

////////////////////////////////////////////////////////////////////////////////
// MULTI ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname) color(255 128 0) iconsprite("sprites/CS/multi_manager.spr") = multi_manager : "MultiTarget Manager"
[
	spawnflags(flags) =
	[
		1 : "multithreaded" : 0
	]
]

@PointClass base(Targetname, Target) color(128 255 128) iconsprite("sprites/CS/MultiSource.spr") = multisource : "Multisource"
[
	globalstate(string) : "Global State Master"
]

////////////////////////////////////////////////////////////////////////////////
// PATH ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
[
	spawnflags(flags) =
	[
              1: "等待再次引发" : 0
              2: "传送到下一个结束点" : 0
              4: "引发一次" : 0

	]
	target(target_destination) : "下一个停止目标"
	message(target_destination) : "引发的实体"
	wait(integer) : "在此等待 (秒)" : 0
	speed(integer) : "新列车速度" : 0
	yaw_speed(integer) : "新列车衰减速度" : 0
]

@PointClass base(Targetname) size(16 16 16) = path_track : "Train Track Path"
[
	target(target_destination) : "下一个停止目标"
	spawnflags(flags) =
	[
              1: "禁用" : 0
              2: "引发一次" : 0
              4: "分枝颠倒" : 0
              8: "禁用列车" : 0

	]
	message(target_destination) : "引发的实体"
	altpath(target_destination) : "支路"
	netname(target_destination) : "到死胡同后引发"
	speed(integer) : "新的列车速度" : 0
]

////////////////////////////////////////////////////////////////////////////////
// PLAYER ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname) iconsprite("sprites/CS/PlayerLoadSaved.spr") = player_loadsaved : "Load Auto-Saved game"
[
	duration(string) : "Fade Duration (seconds)" : "2"
	holdtime(string) : "Hold Fade (seconds)" : "0"
	renderamt(integer) : "Fade Alpha" : 255
	rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
	messagetime(string) : "Show Message delay" : "0"
	message(string) : "Message To Display" : ""
	loadtime(string) : "Reload delay" : "0"
]

@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/PlayerWeaponStrip.spr") = player_weaponstrip : "Strips player's weapons" []

////////////////////////////////////////////////////////////////////////////////
// SCRIPTED ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sentence : "Scripted Sentence"
[
	spawnflags(flags) =
	[
		1 : "Fire Once" : 1
		2 : "Followers Only" : 0
		4 : "Interrupt Speech" : 1
		8 : "Concurrent" : 0
	]
	sentence(string) : "Sentence Name" : ""
	entity(string) : "Speaker Type"
	duration(string) : "Sentence Time" : "3"
	radius(integer) : "Search Radius" : 512
	refire(string) : "Delay Before Refire" : "3"
	listener(string) : "Listener Type"
	volume(string) : "Volume 0-10" : "10"
	attenuation(Choices) : "Sound Radius" : 0 =
	[
		0 : "Small Radius"
		1 : "Medium Radius"
		2 : "Large  Radius"
		3 : "Play Everywhere"
	]
]

@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sequence : "Scripted Sequence"
[
	m_iszEntity(string) : "Target Monster"
	m_iszPlay(string) : "Action Animation" : ""
	m_iszIdle(string) : "Idle Animation" : ""
	m_flRadius(integer) : "Search Radius" : 512
	m_flRepeat(integer) : "Repeat Rate ms (m_flRepeat)" : 0
	m_fRepeat(integer) : "Repeat Rate ms (m_fRepeat)" : 0
	m_fMoveTo(choices) : "移动到目的地" : 0 =
	[
		0 : "否"
		1 : "走"
		2 : "跑"
		4 : "瞬移"
		5 : "否,面对目标"
	]
	spawnflags(flags) =
	[
		4 : "可重复引发" : 0
		8 : "Leave Corpse" : 0
		32 : "No Interruptions" : 0
		64 : "Override AI" : 0
		128 : "No Script Movement" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// SPEAKER ENTITY
////////////////////////////////////////////////////////////////////////////////

@PointClass iconsprite("sprites/speaker.spr") base(Targetname) = speaker : "Announcement Speaker"
[
	// e.g. ARAB_OUTSIDE_YELL
	message(string) : "Sentence Group Name"
	health(integer) : "Volume (10 = loudest)" : 5
	spawnflags(flags) =
	[
		1 : "Start Silent" : 0
	]
]

////////////////////////////////////////////////////////////////////////////////
// TRIGGER ENTITIES
////////////////////////////////////////////////////////////////////////////////

@PointClass base(Targetx) iconsprite("sprites/CS/TriggerAuto.spr") = trigger_auto : "Trigger Auto"
[
	spawnflags(flags) =
	[
		1 : "Remove On fire" : 1
	]
	globalstate(string) : "Global State to Read"
	triggerstate(choices) : "Trigger State" : 0 =
	[
		0 : "Off"
		1 : "On"
		2 : "Toggle"
	]
]

@SolidClass base(Targetname) = trigger_autosave : "Trigger Auto-Save"
[
	master(string) : "Master"
]

@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/TriggerCamera.spr") = trigger_camera : "Trigger Camera"
[
	wait(integer) : "Hold time" : 0
	moveto(string) : "Path Corner"
	spawnflags(flags) =
	[
		1 : "Start At Player" : 1
		2 : "Follow Player" : 1
		4 : "Freeze Player" : 0
	]
	speed(string) : "Initial Speed" : "0"
	acceleration(string) : "Acceleration units/sec^2" : "500"
	deceleration(string) : "Stop Deceleration units/sec^2" : "500"
]

@PointClass base(Targetname) iconsprite("sprites/CS/TriggerCDAudio.spr") = trigger_cdaudio : "Trigger CD Audio"
[
	trackname(string) : "Track Name" : "sound/music/TITLE"
	loop(choices) : "Loop" : 0 =
	[
		0 : "No"
		1 : "Yes"
	]
]

@PointClass base(Targetname, Target, Global, Master, Netname, Targetx, ModelFile) iconsprite("sprites/CS/TriggerChangeKeyValue.spr") = trigger_changekeyvalue : "Trigger Change Key Value"
[
	angles(string) : "Pitch Yaw Roll (Y Z X) (blank: no change)"
]

@SolidClass = trigger_changelevel : "Change Level"
[
	targetname(string) : "Name"
	map(string) : "New map name"
	landmark(string) : "Landmark name"
	changetarget(target_destination) : "Change Target"
	changedelay(string) : "Delay before change target" : "0"
	spawnflags(flags) =
	[
		1 : "No Intermission" : 0
		2 : "USE Only" : 0
	]
]

@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/TriggerChangeTarget.spr") = trigger_changetarget : "Trigger Change Target"
[
	m_iszNewTarget(string) : "New Target"
]


@PointClass base(Trigger) iconsprite("sprites/CS/TriggerCounter.spr") = trigger_counter : "Trigger Counter"
[
	spawnflags(flags) =
	[
		1 : "No Message" : 0
	]
	count(integer) : "Count before activation" : 2
]

@PointClass base(Targetname) iconsprite("sprites/CS/TriggerEndMission.spr") = trigger_endmission : "Trigger EndMission"
[
	music(string) : "MP3" : "sound/music/MP3NAME"
	nextmap(string) : "Next map" : ""
]

@SolidClass base(Targetname) = trigger_endsection : "Trigger EndSection"
[
	section(choices) : "Section" : "_oem_end_training" =
	[
		"_oem_end_training" : "_oem_end_training"
	]
	spawnflags(flags) =
	[
		1 : "USE Only" : 0
	]
]

@PointClass base(Targetname) iconsprite("sprites/CS/TriggerFreezePlayer.spr") = trigger_freezeplayer : "Trigger Freeze Player" []

@SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity"
[
	gravity(string) : "Gravity" : "1.0"
]

@PointClass base(Targetname) iconsprite("sprites/CS/TriggerHud.spr") = trigger_hud : "Trigger HUD Switcher"
[
	display(choices) : "Display" : 0 =
	[
		0 : "Off"
		1 : "On"
	]
]

@SolidClass base(Targetname, Master, Target, Targetx) = trigger_hurt : "Trigger Hurt Player"
[
	delay(string) : "Delay before trigger" : "0"
	spawnflags(flags) =
	[
		1: "只伤害一人" : 0
		2: "开始时关闭" : 0
		8 : "No clients" : 0
		16:"只有玩者能引发目标" : 0
		32:"只伤害玩者" : 0

	]
	dmg(integer) : "伤害力" : 10
	damagetype(choices) : "伤害类型" : 0 =
	[
		0 : "普通"
		1 : "挤压"
		2 : "子弹"
		4 : "砍"
		8 : "烧"
		16 : "冷"
		32 : "摔落"
		64 : "爆炸"
		128 : "打"
		256 : "震动"
		512 : "超声波"
		1024 : "激光"
		16384: "水淹"
		32768 : "麻痹"
		65536 : "瓦斯"
		131072 : "毒"
		262144 : "辐射"
		524288 : "水淹恢复"
		1048576 : "化学"
		2097152 : "烧(慢)"
		4194304 : "冷(慢)"

	]
]

@PointClass base(Targetname, Target) iconsprite("sprites/CS/TriggerKillTarget.spr") = trigger_killtarget : "Trigger Kill Target"[]

@SolidClass base(Angles) = trigger_monsterjump : "Trigger Monster Jump"
[
	master(string) : "Master"
	speed(integer) : "Jump Speed" : 40
	height(integer) : "Jump Height" : 128
]

@SolidClass base(Trigger) = trigger_multiple : "Trigger Activate Multiple"
[
	wait(integer) : "Delay before reset" : 0
]

@PointClass base(Targetname) = trigger_objective : "Trigger Objective"
[
	// The objectives are saved in the map's .seq file
	objective(string) : "Objective (from MAPNAME.seq)"
	notransition(integer) : "No Transition"
	state(integer) : "State (?)"
]


@SolidClass base(Trigger, Master) = trigger_once : "Trigger Activate Once"
[
	style(integer) : "Style" : 0
]

@SolidClass base(Trigger, Angles) = trigger_push : "Trigger Push Player"
[
	spawnflags(flags) =
	[
		1: "只推动一人" : 0
		2: "开始时关闭" : 0

	]
	speed(integer) : "推动速度" : 40
]

@PointClass base(Targetname, Targetx, Angles) iconsprite("sprites/CS/TriggerRelay.spr") = trigger_relay : "Trigger Relay"
[
	spawnflags(flags) =
	[
		1: "引发后清除" : 0
	]
	triggerstate(choices) : "引发状态" : 0 =
	[
		0: "关闭"
		1: "打开"
		2: "锁定"

	]
]

@PointClass base(Targetname) iconsprite("sprites/CS/TriggerSequence.spr") = trigger_sequence : "Trigger Sequence File"
[
	sequence_file(string) : "Sequence File" : "SEQUENCE.seq"
	sequence_id(string) : "Sequence Name" : ""
	spawnflags(flags) =
	[
		1 : "Use Once?" : 0
	]
]

@SolidClass base(Targetname) = trigger_stealth: "Trigger stealth"
[
	showicon(choices):"Show hud icon":0=
	[
		0:"No"
		1:"Yes"
	]
	cover(integer):"Cover (notarget=100)"
]

@SolidClass base(Trigger) = trigger_teleport : "Trigger Teleport" []

@SolidClass base(Target, Master) = trigger_usetool : "Trigger Tool Use Zone"
[
	// Notice: Have this entity target something when a tool is used in the zone...
	// Uncertain: tooltarget is for where the player needs to be aiming
	rcbombtarget(target_destination) : "RC Bomb target"
	toolname(choices) : "Tool Name" : "No_tool_here" =
	[
		"No_tool_here" : "No Tool Here"
		"weapon_fiberopticcamera" : "Fiber-Optic Camera"
		"weapon_radio" : "Radio"
		"weapon_camera" : "Camera"
		"weapon_blowtorch" : "Blow Torch"
		"weapon_radiocontrolledbomb" : "RC Bomb"
		"bomb_defuse" : "Bomb Defuse"
	]
	tooltarget(string) : "Tool Target"
	toolset(choices) : "Tool set (?)" : 4 =
	[
		0:"Default"
		1:"Bomb defuse"
		2:"Briefcase"
		4:"Camera"
		8:"Fiberoptic"
		16:"Radio"
		32:"RC Bomb"
//添加于2016-8-3 20:06:59
	]
	spawnflags(flags) =
	[
		1 : "Start On (?)" : 0
	]
	bombdefusetime(integer) : "Bomb defuse time"
]
@SolidClass base(Targetname) = trigger_transition : "Trigger Select Transition Area" []

////////////////////////////////////////////////////////////////////////////////
// WEAPON ENTITIES
////////////////////////////////////////////////////////////////////////////////

// WEAPON_C4 is a planted bomb that requires defusing.
// If the entity is left un-named, it will be be planted automatically at the start of each round.
// If the entity is named, then only when it is targeted will the bomb will be planted.
// A brief "click" is heard when the bomb is planted, but the voice "The bomb has been planted" does not play.
// The bomb falls to the ground directly beneath the point at which the entity is placed in the map.
// no func_bombtargets or info_bombtargets are needed. Defuse is normal. The bomb cannot be picked up.
// The best way for mappers to control timing is through the use of an outside timer/trigger,
// rather than changing the detonatedelay, which might be overridden by servers.
// "Trigger When Detonated" and "Trigger When Defused" are ONLY for planted bombs.
// If these fields are given targetnames for something that cannot be
// triggered(has no entity), it WILL have unwanted effects.
// MAY HAVE CHANGED WITH CONDITION ZERO DELETED SCENES
@BaseClass = C4Base
[
	detonatedelay(string) : "C4 Detonate Delay" : "20.0"
	detonatetarget(target_destination) : "Trigger When Detonated"
	defusetarget(target_destination) : "Trigger When Defused"
]
//冬冬添加===
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_ak47 : "AK47"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_awp : "AWP/AWM"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_fiveseven : "Fiveseven"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_m3 :"M3"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_mac10 : "MAC10"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_p90 : "P90"[]
@PointClass iconsprite("sprites/CZ/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_tmp : "TMP"[]
//冬冬添加===
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_aug : "AUG" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_blowtorch : "Blow Torch" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_briefcase : "Briefcase" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields, C4Base) = weapon_c4 : "C4 Plastique Bomb" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_camera : "Camera" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_deagle : "Deagle pistol" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_elite : "Elite pistol" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_fiberopticcamera : "Fiber-Optic Camera" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_flashbang : "Flashbang" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_g3sg1 : "G3SG1" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_hegrenade : "HE Grenade" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_knife : "Knife" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_laws : "M72 LAW" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_mp5navy : "MP5" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_m60 : "M60" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_m4a1 : "M4A1 Colt" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_radio : "Radio" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_radiocontrolledbomb : "RC Bomb" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_scout : "Scout" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_sg552 : "G552" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_smokegrenade : "Smoke Grenade" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_ump45 : "UMP45" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_usp : "USP" []
@PointClass iconsprite("sprites/CS/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) = weapon_xm1014 : "XM1014" []