… | |
… | |
1485 | * originator: Player, monster or other object that caused 'victim' to move |
1485 | * originator: Player, monster or other object that caused 'victim' to move |
1486 | * onto 'trap'. Will receive messages caused by this action. May be NULL. |
1486 | * onto 'trap'. Will receive messages caused by this action. May be NULL. |
1487 | * However, some types of traps require an originator to function. |
1487 | * However, some types of traps require an originator to function. |
1488 | */ |
1488 | */ |
1489 | void |
1489 | void |
1490 | move_apply (object *trap, object *victim, object *originator) |
1490 | move_apply (object *trap, object *victim, object *originator, bool move_on) |
1491 | { |
1491 | { |
1492 | static int recursion_depth = 0; |
1492 | static int recursion_depth = 0; |
1493 | |
1493 | |
1494 | /* Only exits affect DMs. */ |
1494 | /* Only exits affect DMs. */ |
1495 | if (QUERY_FLAG (victim, FLAG_WIZPASS) && trap->type != EXIT && trap->type != SIGN) |
1495 | if (QUERY_FLAG (victim, FLAG_WIZPASS) && trap->type != EXIT && trap->type != SIGN) |
… | |
… | |
1654 | case DEEP_SWAMP: |
1654 | case DEEP_SWAMP: |
1655 | walk_on_deep_swamp (trap, victim); |
1655 | walk_on_deep_swamp (trap, victim); |
1656 | goto leave; |
1656 | goto leave; |
1657 | |
1657 | |
1658 | case CHECK_INV: |
1658 | case CHECK_INV: |
1659 | check_inv (victim, trap); |
1659 | check_inv (victim, trap, move_on); |
1660 | goto leave; |
1660 | goto leave; |
1661 | |
1661 | |
1662 | case HOLE: |
1662 | case HOLE: |
1663 | /* Hole not open? */ |
1663 | /* Hole not open? */ |
1664 | if (trap->stats.wc > 0) |
1664 | if (trap->stats.wc > 0) |
… | |
… | |
2448 | /** |
2448 | /** |
2449 | * This fonction return true if the exit is not a 2 ways one or it is 2 ways, valid exit. |
2449 | * This fonction return true if the exit is not a 2 ways one or it is 2 ways, valid exit. |
2450 | * A valid 2 way exit means: |
2450 | * A valid 2 way exit means: |
2451 | * -You can come back (there is another exit at the other side) |
2451 | * -You can come back (there is another exit at the other side) |
2452 | * -You are |
2452 | * -You are |
2453 | * ° the owner of the exit |
2453 | * ° the owner of the exit |
2454 | * ° or in the same party as the owner |
2454 | * ° or in the same party as the owner |
2455 | * |
2455 | * |
2456 | * Note: a owner in a 2 way exit is saved as the owner's name |
2456 | * Note: a owner in a 2 way exit is saved as the owner's name |
2457 | * in the field exit->name cause the field exit->owner doesn't |
2457 | * in the field exit->name cause the field exit->owner doesn't |
2458 | * survive in the swapping (in fact the whole exit doesn't survive). |
2458 | * survive in the swapping (in fact the whole exit doesn't survive). |
2459 | */ |
2459 | */ |