1 void () button_return;
\r
3 void () button_wait =
\r
6 self.nextthink = (self.ltime + self.wait);
\r
7 self.think = button_return;
\r
8 activator = self.enemy;
\r
10 // self.frame = 1; // causes crash :((
\r
13 void () button_done =
\r
18 void () button_return =
\r
20 self.goal_state = 2;
\r
22 SUB_CalcMove (self.pos1, self.speed, button_done);
\r
26 self.takedamage = 1;
\r
30 void () button_blocked =
\r
34 void () button_fire =
\r
36 if (((self.state == 2) || (self.state == 0)))
\r
40 sound (self, 2, self.noise, 1, 1);
\r
42 SUB_CalcMove (self.pos2, self.speed, button_wait);
\r
45 void () button_use =
\r
47 self.enemy = activator;
\r
51 float () button_touch =
\r
55 if ((cb_prematch_time > time))
\r
59 if ((other.classname != "player"))
\r
63 if ((self.goal_activation & 8))
\r
67 if ((other.playerclass == 0))
\r
71 if (!Activated (self, other))
\r
73 if ((self.else_goal != 0))
\r
75 te = Findgoal (self.else_goal);
\r
78 AttemptToActivate (te, other, self);
\r
87 void () button_killed =
\r
89 if ((self.goal_activation & 8))
\r
93 self.enemy = damage_attacker;
\r
94 self.health = self.max_health;
\r
95 self.takedamage = 0;
\r
99 void () func_button =
\r
104 if (self.activetarget != "")
\r
106 self.target = self.activetarget;
\r
109 if ((CheckExistence () == 0))
\r
114 if ((self.sounds == 0))
\r
116 precache_sound ("buttons/airbut1.wav");
\r
117 self.noise = "buttons/airbut1.wav";
\r
119 if ((self.sounds == 1))
\r
121 precache_sound ("buttons/switch21.wav");
\r
122 self.noise = "buttons/switch21.wav";
\r
124 if ((self.sounds == 2))
\r
126 precache_sound ("buttons/switch02.wav");
\r
127 self.noise = "buttons/switch02.wav";
\r
129 if ((self.sounds == 3))
\r
131 precache_sound ("buttons/switch04.wav");
\r
132 self.noise = "buttons/switch04.wav";
\r
137 setmodel (self, self.model);
\r
138 self.blocked = button_blocked;
\r
139 self.use = button_use;
\r
142 self.max_health = self.health;
\r
143 self.th_die = button_killed;
\r
144 self.takedamage = 1;
\r
148 self.touch = button_touch;
\r
163 self.pos1 = self.origin;
\r
164 self.pos2 = (self.pos1 + (self.movedir * (fabs ((self.movedir * self.size)) - self.lip)));
\r
165 if ((self.spawnflags & 32))
\r