| 4227 | } |
| 4228 | |
| 4229 | bool UpdateTrapState(Object &trap) |
| 4230 | { |
| 4231 | if (trap._oVar4 != 0) |
| 4232 | return false; |
| 4233 | |
| 4234 | Object &trigger = ObjectAtPosition({ trap._oVar1, trap._oVar2 }); |
| 4235 | switch (trigger._otype) { |
| 4236 | case OBJ_L1LDOOR: |
| 4237 | case OBJ_L1RDOOR: |
| 4238 | case OBJ_L2LDOOR: |
| 4239 | case OBJ_L2RDOOR: |
| 4240 | case OBJ_L3LDOOR: |
| 4241 | case OBJ_L3RDOOR: |
| 4242 | case OBJ_L5LDOOR: |
| 4243 | case OBJ_L5RDOOR: |
| 4244 | if (trigger._oVar4 == DOOR_CLOSED && trigger._oTrapFlag) |
| 4245 | return false; |
| 4246 | break; |
| 4247 | case OBJ_LEVER: |
| 4248 | case OBJ_CHEST1: |
| 4249 | case OBJ_CHEST2: |
| 4250 | case OBJ_CHEST3: |
| 4251 | case OBJ_SWITCHSKL: |
| 4252 | case OBJ_SARC: |
| 4253 | case OBJ_L5LEVER: |
| 4254 | case OBJ_L5SARC: |
| 4255 | if (trigger._oSelFlag != 0 && trigger._oTrapFlag) |
| 4256 | return false; |
| 4257 | break; |
| 4258 | default: |
| 4259 | return false; |
| 4260 | } |
| 4261 | |
| 4262 | trap._oVar4 = 1; |
| 4263 | trigger._oTrapFlag = false; |
| 4264 | return true; |
| 4265 | } |
| 4266 | |
| 4267 | void OperateTrap(Object &trap) |
| 4268 | { |
no outgoing calls
no test coverage detected