Crossfire Server, Trunk  R20513
process.c
Go to the documentation of this file.
1 /*
2  CrossFire, A Multiplayer game for X-windows
3 
4  Copyright (C) 2006 Mark Wedel & Crossfire Development Team
5  Copyright (C) 1992 Frank Tore Johansen
6 
7  This program is free software; you can redistribute it and/or modify
8  it under the terms of the GNU General Public License as published by
9  the Free Software Foundation; either version 2 of the License, or
10  (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful,
13  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  GNU General Public License for more details.
16 
17  You should have received a copy of the GNU General Public License
18  along with this program; if not, write to the Free Software
19  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 
21  The authors can be reached via e-mail to crossfire-devel@real-time.com
22 */
23 #include <global.h>
24 #include <ob_methods.h>
25 #include <ob_types.h>
26 #include <sproto.h>
27 
31 method_ret legacy_ob_process(ob_methods *context, object *op) {
32  switch (op->type) {
33  case ROD:
34  regenerate_rod(op);
35  return METHOD_OK;
36 
37  case FORCE:
40  return METHOD_OK;
41 
42  case DISEASE:
43  move_disease(op);
44  return METHOD_OK;
45 
46  case SYMPTOM:
47  move_symptom(op);
48  return METHOD_OK;
49 
50  case DOOR:
51  remove_door(op);
52  return METHOD_OK;
53 
54  case LOCKED_DOOR:
56  return METHOD_OK;
57 
58  case GOLEM:
59  pets_move_golem(op);
60  return METHOD_OK;
61 
62  case EARTHWALL:
63  hit_player(op, 2, op, AT_PHYSICAL, 1);
64  return METHOD_OK;
65 
66  case FIREWALL:
67  move_firewall(op);
68  if (op->stats.maxsp)
69  animate_turning(op);
70  return METHOD_OK;
71 
72  case TRIGGER_BUTTON:
73  case TRIGGER_PEDESTAL:
74  case TRIGGER_ALTAR:
76  return METHOD_OK;
77 
78  case DIRECTOR:
79  if (op->stats.maxsp)
80  animate_turning(op);
81  return METHOD_OK;
82 
83  case HOLE:
84  legacy_move_hole(op);
85  return METHOD_OK;
86 
87  case PLAYERMOVER:
89  return METHOD_OK;
90  }
91  return METHOD_UNHANDLED;
92 }
void regenerate_rod(object *rod)
Regenerates a rod&#39;s charges.
Definition: spell_util.c:804
void legacy_remove_force(object *op)
Definition: time.c:827
void remove_door(object *op)
Remove non locked doors.
Definition: time.c:37
method_ret legacy_ob_process(ob_methods *context, object *op)
Definition: process.c:31
Typedefs for ob_methods.
Definition: ob_methods.h:45
int move_disease(object *disease)
Ticks the clock for disease: infect, aggravate symptoms, ...
Definition: disease.c:180
void move_player_mover(object *op)
This function takes a PLAYERMOVER as an argument, and performs the function of a player mover...
Definition: time.c:675
void move_symptom(object *symptom)
Make the symptom do the nasty things it does.
Definition: disease.c:592
See Altar Trigger.
Definition: object.h:133
See Rod.
Definition: object.h:109
void legacy_move_hole(object *op)
Definition: time.c:835
See Button Trigger.
Definition: object.h:132
Global type definitions and header inclusions.
See Mover.
Definition: object.h:140
int16_t maxsp
Max spell points.
Definition: living.h:42
char method_ret
Define some standard return values for callbacks which don&#39;t need to return any other results...
Definition: ob_methods.h:14
#define METHOD_OK
Definition: ob_methods.h:15
Definition: object.h:145
void legacy_animate_trigger(object *op)
Definition: time.c:831
void remove_locked_door(object *op)
Same as remove_door() but for locked doors.
Definition: time.c:63
#define AT_PHYSICAL
Definition: attack.h:76
See Locked Door.
Definition: object.h:123
#define METHOD_UNHANDLED
Definition: ob_methods.h:16
See Door.
Definition: object.h:126
See Magic Wall.
Definition: object.h:168
Object type variables.
void move_firewall(object *op)
Move for FIREWALL.
Definition: main.c:330
living stats
Str, Con, Dex, etc.
Definition: object.h:368
void animate_turning(object *op)
Animates one step of object.
Definition: button.c:275
uint8_t type
PLAYER, BULLET, etc.
Definition: object.h:338
A force, holding the effect of a resistance potion.
Definition: object.h:225
See Pit.
Definition: object.h:209
int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit)
Object is attacked by something.
Definition: attack.c:1861
Object type functions and variables.
See Disease.
Definition: object.h:244
See Director.
Definition: object.h:222
void pets_move_golem(object *op)
Handles a golem&#39;s movement.
Definition: pets.c:534
Definition: object.h:224