ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/server/time.C
(Generate patch)

Comparing deliantra/server/server/time.C (file contents):
Revision 1.9 by root, Sun Sep 10 15:59:58 2006 UTC vs.
Revision 1.10 by root, Mon Sep 11 20:26:41 2006 UTC

1 1
2/* 2/*
3 * static char *rcsid_time_c = 3 * static char *rcsid_time_c =
4 * "$Id: time.C,v 1.9 2006/09/10 15:59:58 root Exp $"; 4 * "$Id: time.C,v 1.10 2006/09/11 20:26:41 root Exp $";
5 */ 5 */
6 6
7/* 7/*
8 CrossFire, A Multiplayer game for X-windows 8 CrossFire, A Multiplayer game for X-windows
9 9
211 if (--op->duration > 0) 211 if (--op->duration > 0)
212 return; 212 return;
213 213
214 switch (op->subtype) 214 switch (op->subtype)
215 { 215 {
216 case FORCE_CONFUSION: 216 case FORCE_CONFUSION:
217 if (op->env != NULL) 217 if (op->env != NULL)
218 { 218 {
219 CLEAR_FLAG (op->env, FLAG_CONFUSED); 219 CLEAR_FLAG (op->env, FLAG_CONFUSED);
220 new_draw_info (NDI_UNIQUE, 0, op->env, "You regain your senses.\n"); 220 new_draw_info (NDI_UNIQUE, 0, op->env, "You regain your senses.\n");
221 } 221 }
222 222
223 default: 223 default:
224 if (op->env != NULL) 224 if (op->env != NULL)
225 { 225 {
226 CLEAR_FLAG (op, FLAG_APPLIED); 226 CLEAR_FLAG (op, FLAG_APPLIED);
227 change_abil (op->env, op); 227 change_abil (op->env, op);
228 fix_player (op->env); 228 fix_player (op->env);
229 } 229 }
230 } 230 }
231 remove_ob (op); 231 remove_ob (op);
232 free_object (op); 232 free_object (op);
233} 233}
234 234
593 if (op->map == NULL) 593 if (op->map == NULL)
594 return op; 594 return op;
595 595
596 switch (op->type) 596 switch (op->type)
597 { 597 {
598 case THROWN_OBJ: 598 case THROWN_OBJ:
599 { 599 {
600 object *payload = op->inv; 600 object *payload = op->inv;
601 601
602 if (payload == NULL) 602 if (payload == NULL)
603 return NULL; 603 return NULL;
604 remove_ob (payload); 604 remove_ob (payload);
605 remove_ob (op); 605 remove_ob (op);
606 free_object (op); 606 free_object (op);
607 return payload; 607 return payload;
608 } 608 }
609 609
610 case ARROW: 610 case ARROW:
611 if (op->speed >= MIN_ACTIVE_SPEED) 611 if (op->speed >= MIN_ACTIVE_SPEED)
612 op = fix_stopped_arrow (op); 612 op = fix_stopped_arrow (op);
613 return op; 613 return op;
614 614
615 default: 615 default:
616 return op; 616 return op;
617 } 617 }
618} 618}
619 619
620/* fix_stopped_item() - put stopped item where stop_item() had found it. 620/* fix_stopped_item() - put stopped item where stop_item() had found it.
621 * Inserts item into the old map, or merges it if it already is on the map. 621 * Inserts item into the old map, or merges it if it already is on the map.
1423 animate_object (op, op->direction); 1423 animate_object (op, op->direction);
1424 1424
1425 if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE)) 1425 if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE))
1426 make_sure_seen (op); 1426 make_sure_seen (op);
1427 } 1427 }
1428
1428 if (QUERY_FLAG (op, FLAG_CHANGING) && !op->state) 1429 if (QUERY_FLAG (op, FLAG_CHANGING) && !op->state)
1429 { 1430 {
1430 change_object (op); 1431 change_object (op);
1431 return 1; 1432 return 1;
1432 } 1433 }
1434
1433 if (QUERY_FLAG (op, FLAG_GENERATOR) && !QUERY_FLAG (op, FLAG_FRIENDLY)) 1435 if (QUERY_FLAG (op, FLAG_GENERATOR) && !QUERY_FLAG (op, FLAG_FRIENDLY))
1434 generate_monster (op); 1436 generate_monster (op);
1435 1437
1436 if (QUERY_FLAG (op, FLAG_IS_USED_UP) && --op->stats.food <= 0) 1438 if (QUERY_FLAG (op, FLAG_IS_USED_UP) && --op->stats.food <= 0)
1437 { 1439 {
1442 /* IF necessary, delete the item from the players inventory */ 1444 /* IF necessary, delete the item from the players inventory */
1443 object *pl = is_player_inv (op); 1445 object *pl = is_player_inv (op);
1444 1446
1445 if (pl) 1447 if (pl)
1446 esrv_del_item (pl->contr, op->count); 1448 esrv_del_item (pl->contr, op->count);
1449
1447 remove_ob (op); 1450 remove_ob (op);
1451
1448 if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE)) 1452 if (QUERY_FLAG (op, FLAG_SEE_ANYWHERE))
1449 make_sure_not_seen (op); 1453 make_sure_not_seen (op);
1454
1450 free_object (op); 1455 free_object (op);
1451 } 1456 }
1457
1452 return 1; 1458 return 1;
1453 } 1459 }
1454 switch (op->type) 1460 switch (op->type)
1455 { 1461 {
1456
1457 case SPELL_EFFECT: 1462 case SPELL_EFFECT:
1458 move_spell_effect (op); 1463 move_spell_effect (op);
1459 return 1; 1464 return 1;
1460 1465
1461 case ROD: 1466 case ROD:
1462 case HORN: 1467 case HORN:
1463 regenerate_rod (op); 1468 regenerate_rod (op);
1464 return 1; 1469 return 1;
1465 1470
1466 case FORCE: 1471 case FORCE:
1467 case POTION_EFFECT: 1472 case POTION_EFFECT:
1468 remove_force (op); 1473 remove_force (op);
1469 return 1; 1474 return 1;
1470 1475
1471 case BLINDNESS: 1476 case BLINDNESS:
1472 remove_blindness (op); 1477 remove_blindness (op);
1473 return 0; 1478 return 0;
1474 1479
1475 case POISONING: 1480 case POISONING:
1476 poison_more (op); 1481 poison_more (op);
1477 return 0; 1482 return 0;
1478 1483
1479 case DISEASE: 1484 case DISEASE:
1480 move_disease (op); 1485 move_disease (op);
1481 return 0; 1486 return 0;
1482 1487
1483 case SYMPTOM: 1488 case SYMPTOM:
1484 move_symptom (op); 1489 move_symptom (op);
1485 return 0; 1490 return 0;
1486 1491
1487 case THROWN_OBJ: 1492 case THROWN_OBJ:
1488 case ARROW: 1493 case ARROW:
1489 move_arrow (op); 1494 move_arrow (op);
1490 return 0; 1495 return 0;
1491 1496
1492 case LIGHTNING: /* It now moves twice as fast */ 1497 case LIGHTNING: /* It now moves twice as fast */
1493 move_bolt (op); 1498 move_bolt (op);
1494 return 0; 1499 return 0;
1495 1500
1496 case DOOR: 1501 case DOOR:
1497 remove_door (op); 1502 remove_door (op);
1498 return 0; 1503 return 0;
1499 1504
1500 case LOCKED_DOOR: 1505 case LOCKED_DOOR:
1501 remove_door2 (op); 1506 remove_door2 (op);
1502 return 0; 1507 return 0;
1503 1508
1504 case TELEPORTER: 1509 case TELEPORTER:
1505 move_teleporter (op); 1510 move_teleporter (op);
1506 return 0; 1511 return 0;
1507 1512
1508 case GOLEM: 1513 case GOLEM:
1509 move_golem (op); 1514 move_golem (op);
1510 return 0; 1515 return 0;
1511 1516
1512 case EARTHWALL: 1517 case EARTHWALL:
1513 hit_player (op, 2, op, AT_PHYSICAL, 1); 1518 hit_player (op, 2, op, AT_PHYSICAL, 1);
1514 return 0; 1519 return 0;
1515 1520
1516 case FIREWALL: 1521 case FIREWALL:
1517 move_firewall (op); 1522 move_firewall (op);
1518 if (op->stats.maxsp) 1523 if (op->stats.maxsp)
1519 animate_turning (op); 1524 animate_turning (op);
1520 return 0; 1525 return 0;
1521 1526
1522 case MOOD_FLOOR: 1527 case MOOD_FLOOR:
1523 do_mood_floor (op); 1528 do_mood_floor (op);
1524 return 0; 1529 return 0;
1525 1530
1526 case GATE: 1531 case GATE:
1527 move_gate (op); 1532 move_gate (op);
1528 return 0; 1533 return 0;
1529 1534
1530 case TIMED_GATE: 1535 case TIMED_GATE:
1531 move_timed_gate (op); 1536 move_timed_gate (op);
1532 return 0; 1537 return 0;
1533 1538
1534 case TRIGGER: 1539 case TRIGGER:
1535 case TRIGGER_BUTTON: 1540 case TRIGGER_BUTTON:
1536 case TRIGGER_PEDESTAL: 1541 case TRIGGER_PEDESTAL:
1537 case TRIGGER_ALTAR: 1542 case TRIGGER_ALTAR:
1538 animate_trigger (op); 1543 animate_trigger (op);
1539 return 0; 1544 return 0;
1540 1545
1541 case DETECTOR: 1546 case DETECTOR:
1542 move_detector (op); 1547 move_detector (op);
1543 1548
1544 case DIRECTOR: 1549 case DIRECTOR:
1545 if (op->stats.maxsp) 1550 if (op->stats.maxsp)
1546 animate_turning (op); 1551 animate_turning (op);
1547 return 0; 1552 return 0;
1548 1553
1549 case HOLE: 1554 case HOLE:
1550 move_hole (op); 1555 move_hole (op);
1551 return 0; 1556 return 0;
1552 1557
1553 case DEEP_SWAMP: 1558 case DEEP_SWAMP:
1554 move_deep_swamp (op); 1559 move_deep_swamp (op);
1555 return 0; 1560 return 0;
1556 1561
1557 case RUNE: 1562 case RUNE:
1558 case TRAP: 1563 case TRAP:
1559 move_rune (op); 1564 move_rune (op);
1560 return 0; 1565 return 0;
1561 1566
1562 case PLAYERMOVER: 1567 case PLAYERMOVER:
1563 move_player_mover (op); 1568 move_player_mover (op);
1564 return 0; 1569 return 0;
1565 1570
1566 case CREATOR: 1571 case CREATOR:
1567 move_creator (op); 1572 move_creator (op);
1568 return 0; 1573 return 0;
1569 1574
1570 case MARKER: 1575 case MARKER:
1571 move_marker (op); 1576 move_marker (op);
1572 return 0; 1577 return 0;
1573 1578
1574 case PLAYER_CHANGER: 1579 case PLAYER_CHANGER:
1575 move_player_changer (op); 1580 move_player_changer (op);
1576 return 0; 1581 return 0;
1577 1582
1578 case PEACEMAKER: 1583 case PEACEMAKER:
1579 move_peacemaker (op); 1584 move_peacemaker (op);
1580 return 0; 1585 return 0;
1581 } 1586 }
1582 1587
1583 return 0; 1588 return 0;
1584} 1589}

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines