| 4669 | } |
| 4670 | |
| 4671 | void SyncOpObject(Player &player, int cmd, Object &object) |
| 4672 | { |
| 4673 | bool sendmsg = &player == MyPlayer; |
| 4674 | |
| 4675 | switch (object._otype) { |
| 4676 | case OBJ_L1LDOOR: |
| 4677 | case OBJ_L1RDOOR: |
| 4678 | case OBJ_L2LDOOR: |
| 4679 | case OBJ_L2RDOOR: |
| 4680 | case OBJ_L3LDOOR: |
| 4681 | case OBJ_L3RDOOR: |
| 4682 | case OBJ_L5LDOOR: |
| 4683 | case OBJ_L5RDOOR: |
| 4684 | if (sendmsg) |
| 4685 | break; |
| 4686 | if (cmd == CMD_CLOSEDOOR && object._oVar4 == DOOR_CLOSED) |
| 4687 | break; |
| 4688 | if (cmd == CMD_OPENDOOR && object._oVar4 == DOOR_OPEN) |
| 4689 | break; |
| 4690 | OperateDoor(object, false); |
| 4691 | break; |
| 4692 | case OBJ_LEVER: |
| 4693 | case OBJ_L5LEVER: |
| 4694 | case OBJ_SWITCHSKL: |
| 4695 | OperateLever(object, sendmsg); |
| 4696 | break; |
| 4697 | case OBJ_BOOK2L: |
| 4698 | if (!sendmsg) |
| 4699 | OperateBook(player, object, sendmsg); |
| 4700 | break; |
| 4701 | case OBJ_CHEST1: |
| 4702 | case OBJ_CHEST2: |
| 4703 | case OBJ_CHEST3: |
| 4704 | case OBJ_TCHEST1: |
| 4705 | case OBJ_TCHEST2: |
| 4706 | case OBJ_TCHEST3: |
| 4707 | OperateChest(player, object, false); |
| 4708 | break; |
| 4709 | case OBJ_SARC: |
| 4710 | case OBJ_L5SARC: |
| 4711 | OperateSarcophagus(object, sendmsg, false); |
| 4712 | break; |
| 4713 | case OBJ_BLINDBOOK: |
| 4714 | case OBJ_BLOODBOOK: |
| 4715 | case OBJ_STEELTOME: |
| 4716 | if (sendmsg) |
| 4717 | break; |
| 4718 | object._oAnimFrame = object._oVar6; |
| 4719 | SyncQSTLever(object); |
| 4720 | break; |
| 4721 | case OBJ_SHRINEL: |
| 4722 | case OBJ_SHRINER: |
| 4723 | OperateShrine(player, object, IS_MAGIC); |
| 4724 | break; |
| 4725 | case OBJ_SKELBOOK: |
| 4726 | case OBJ_BOOKSTAND: |
| 4727 | OperateBookStand(object, sendmsg, false); |
| 4728 | break; |
no test coverage detected