Crossfire Server, Trunk
clock.c
Go to the documentation of this file.
1
/*
2
CrossFire, A Multiplayer game for X-windows
3
4
Copyright (C) 2007 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 at crossfire-devel@real-time.com
22
*/
26
#include <
global.h
>
27
#include <
ob_methods.h
>
28
#include <
ob_types.h
>
29
#include <
sounds.h
>
30
#include <
sproto.h
>
31
32
static
method_ret
clock_type_apply
(
object
*
op
,
object
*applier,
int
aflags);
33
37
void
init_type_clock
(
void
) {
38
register_apply
(
CLOCK
,
clock_type_apply
);
39
}
40
49
static
method_ret
clock_type_apply
(
object
*
op
,
object
*applier,
int
aflags) {
50
(
void
)aflags;
51
if
(applier->
type
==
PLAYER
) {
52
timeofday_t
tod;
53
char
buf1[128];
54
55
get_tod
(&tod);
56
play_sound_player_only
(applier->
contr
,
SOUND_TYPE_ITEM
,
op
, 0,
"tick"
);
57
draw_ext_info_format
(
NDI_UNIQUE
, 0, applier,
MSG_TYPE_APPLY
,
MSG_TYPE_APPLY_SUCCESS
,
58
"It is %s"
,
time_format_time
(&tod, buf1,
sizeof
(buf1)));
59
return
METHOD_OK
;
60
}
61
return
METHOD_UNHANDLED
;
62
}
PLAYER
@ PLAYER
Definition:
object.h:107
global.h
SOUND_TYPE_ITEM
#define SOUND_TYPE_ITEM
Definition:
newclient.h:335
METHOD_OK
#define METHOD_OK
Definition:
ob_methods.h:15
play_sound_player_only
void play_sound_player_only(player *pl, int8_t sound_type, object *emitter, int dir, const char *action)
Definition:
sounds.c:51
_timeofday
Definition:
tod.h:38
METHOD_UNHANDLED
#define METHOD_UNHANDLED
Definition:
ob_methods.h:16
get_tod
void get_tod(timeofday_t *tod)
Definition:
time.c:215
MSG_TYPE_APPLY_SUCCESS
#define MSG_TYPE_APPLY_SUCCESS
Definition:
newclient.h:603
sproto.h
nlohmann::detail::void
j template void())
Definition:
json.hpp:4099
CLOCK
@ CLOCK
Definition:
object.h:115
clock_type_apply
static method_ret clock_type_apply(object *op, object *applier, int aflags)
Definition:
clock.c:49
register_apply
void register_apply(int ob_type, apply_func method)
Definition:
ob_types.c:62
method_ret
char method_ret
Definition:
ob_methods.h:14
ob_types.h
sounds.h
obj::type
uint8_t type
Definition:
object.h:343
NDI_UNIQUE
#define NDI_UNIQUE
Definition:
newclient.h:262
obj::contr
struct pl * contr
Definition:
object.h:279
give.op
op
Definition:
give.py:33
ob_methods.h
time_format_time
const char * time_format_time(const timeofday_t *tod, char *buf, size_t bufsize)
Definition:
time.c:365
MSG_TYPE_APPLY
#define MSG_TYPE_APPLY
Definition:
newclient.h:408
init_type_clock
void init_type_clock(void)
Definition:
clock.c:37
draw_ext_info_format
void draw_ext_info_format(int flags, int pri, const object *pl, uint8_t type, uint8_t subtype, const char *format,...)
Definition:
main.c:319
crossfire-crossfire-server
types
clock
clock.c
Generated by
1.8.17