* Return the stacking of the hero's ball & chain. This assumes that the * hero is being punished. */
| 351 | * hero is being punished. |
| 352 | */ |
| 353 | staticfn int |
| 354 | bc_order(void) |
| 355 | { |
| 356 | struct obj *obj; |
| 357 | |
| 358 | if (uchain->ox != uball->ox || uchain->oy != uball->oy || carried(uball) |
| 359 | || u.uswallow) |
| 360 | return BCPOS_DIFFER; |
| 361 | |
| 362 | for (obj = svl.level.objects[uball->ox][uball->oy]; obj; |
| 363 | obj = obj->nexthere) { |
| 364 | if (obj == uchain) |
| 365 | return BCPOS_CHAIN; |
| 366 | if (obj == uball) |
| 367 | return BCPOS_BALL; |
| 368 | } |
| 369 | impossible("bc_order: ball&chain not in same location!"); |
| 370 | return BCPOS_DIFFER; |
| 371 | } |
| 372 | |
| 373 | /* |
| 374 | * set_bc() |
no test coverage detected