Crossfire Server, Trunk  1.75.0
process.cpp
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 
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 HOLE:
79  legacy_move_hole(op);
80  return METHOD_OK;
81 
82  case PLAYERMOVER:
84  return METHOD_OK;
85  }
86  return METHOD_UNHANDLED;
87 }
global.h
legacy_move_hole
void legacy_move_hole(object *op)
Definition: time.cpp:875
SYMPTOM
@ SYMPTOM
Definition: object.h:250
legacy_animate_trigger
void legacy_animate_trigger(object *op)
Definition: time.cpp:871
TRIGGER_PEDESTAL
@ TRIGGER_PEDESTAL
Definition: object.h:139
remove_locked_door
void remove_locked_door(object *op)
Same as remove_door() but for locked doors.
Definition: time.cpp:64
AT_PHYSICAL
#define AT_PHYSICAL
Definition: attack.h:76
METHOD_OK
#define METHOD_OK
Definition: ob_methods.h:15
POTION_RESIST_EFFECT
@ POTION_RESIST_EFFECT
A force, holding the effect of a resistance potion.
Definition: object.h:230
TRIGGER_BUTTON
@ TRIGGER_BUTTON
Definition: object.h:137
pets_move_golem
void pets_move_golem(object *op)
Handles a golem's movement.
Definition: pets.cpp:519
METHOD_UNHANDLED
#define METHOD_UNHANDLED
Definition: ob_methods.h:16
remove_door
void remove_door(object *op)
Remove non locked doors.
Definition: time.cpp:38
ROD
@ ROD
Definition: object.h:114
move_symptom
void move_symptom(object *symptom)
Make the symptom do the nasty things it does.
Definition: disease.cpp:592
legacy_ob_process
method_ret legacy_ob_process(object *op)
Definition: process.cpp:31
LOCKED_DOOR
@ LOCKED_DOOR
Definition: object.h:128
PLAYERMOVER
@ PLAYERMOVER
Definition: object.h:145
HOLE
@ HOLE
Definition: object.h:214
object::type
uint8_t type
PLAYER, BULLET, etc.
Definition: object.h:348
legacy_remove_force
void legacy_remove_force(object *op)
Definition: time.cpp:867
move_firewall
void move_firewall(object *op)
Move for FIREWALL.
Definition: main.cpp:343
GOLEM
@ GOLEM
Definition: object.h:150
sproto.h
regenerate_rod
void regenerate_rod(object *rod)
Regenerates a rod's charges.
Definition: spell_util.cpp:761
animate_turning
void animate_turning(object *op)
Animates one step of object.
Definition: button.cpp:270
method_ret
char method_ret
Define some standard return values for callbacks which don't need to return any other results.
Definition: ob_methods.h:14
ob_types.h
EARTHWALL
@ EARTHWALL
Definition: object.h:149
living::maxsp
int16_t maxsp
Max spell points.
Definition: living.h:43
move_disease
int move_disease(object *disease)
Ticks the clock for disease: infect, aggravate symptoms, ...
Definition: disease.cpp:180
DISEASE
@ DISEASE
Definition: object.h:249
FIREWALL
@ FIREWALL
Definition: object.h:173
TRIGGER_ALTAR
@ TRIGGER_ALTAR
Definition: object.h:138
move_player_mover
void move_player_mover(object *op)
This function takes a PLAYERMOVER as an argument, and performs the function of a player mover,...
Definition: time.cpp:707
hit_player
int hit_player(object *op, int dam, object *hitter, uint32_t type, int full_hit)
Object is attacked by something.
Definition: attack.cpp:1907
DOOR
@ DOOR
Definition: object.h:131
ob_methods.h
object::stats
living stats
Str, Con, Dex, etc.
Definition: object.h:378
FORCE
@ FORCE
Definition: object.h:229