 |
Crossfire Server, Trunk
1.75.0
|
Go to the documentation of this file.
84 assert(current >= 0 && current <
LEVELS);
86 if (previous_sp != -1) {
88 assert(previous >= 0 && previous <
LEVELS);
89 if (current == previous) {
103 (void)use_media_tags;
127 strncat(
buf,
final, size);
161 if (available_power >= 0 && power_space > 0) {
162 power_grab =
MIN(power_space, 0.5*applier->
stats.
sp);
165 if (available_power < 0 && op->
stats.sp > 0) {
166 power_grab = -
MIN(-available_power, op->
stats.
sp);
175 applier->
stats.
sp -= power_grab;
static int crystal_level(const object *op, int sp)
Return the level, [0..LEVELS[, of charge of the item.
void stringbuffer_append_printf(StringBuffer *sb, const char *format,...)
Append a formatted string to a string buffer instance.
StringBuffer * stringbuffer_new(void)
Create a new string buffer.
void register_apply(int ob_type, apply_func method)
Registers the apply method for the given type.
float speed
Frequency of object 'moves' relative to server tick rate.
Plugin animator file specs[Config] name
static void power_crystal_describe(const object *op, const object *observer, int use_media_tags, char *buf, size_t size)
char * stringbuffer_finish(StringBuffer *sb)
Deallocate the string buffer instance and return the string.
#define MSG_TYPE_APPLY_SUCCESS
Was able to apply object.
void query_name(const object *op, char *buf, size_t size)
Describes an item.
void object_update_speed(object *op)
Updates the speed of an object.
uint8_t type
PLAYER, BULLET, etc.
TIPS on SURVIVING Crossfire is populated with a wealth of different monsters These monsters can have varying immunities and attack types In some of them can be quite a bit smarter than others It will be important for new players to learn the abilities of different monsters and learn just how much it will take to kill them This section discusses how monsters can interact with players Most monsters in the game are out to mindlessly kill and destroy the players These monsters will help boost a player s after he kills them When fighting a large amount of monsters in a single attempt to find a narrower hallway so that you are not being attacked from all sides Charging into a room full of Beholders for instance would not be open the door and fight them one at a time For there are several maps designed for them Find these areas and clear them out All throughout these a player can find signs and books which they can read by stepping onto them and hitting A to apply the book sign These messages will help the player to learn the system One more always keep an eye on your food If your food drops to your character will soon so BE CAREFUL ! NPCs Non Player Character are special monsters which have intelligence Players may be able to interact with these monsters to help solve puzzles and find items of interest To speak with a monster you suspect to be a simply move to an adjacent square to them and push the double ie Enter your message
void stringbuffer_append_string(StringBuffer *sb, const char *str)
Append a string to a string buffer instance.
#define MAX_BUF
Used for all kinds of things.
A buffer that will be expanded as content is added to it.
char method_ret
Define some standard return values for callbacks which don't need to return any other results.
#define NDI_UNIQUE
Print immediately, don't buffer.
static method_ret power_crystal_type_apply(object *op, object *applier, int aflags)
This function handles the application of power crystals.
int16_t maxsp
Max spell points.
void esrv_update_item(int flags, object *pl, object *op)
Updates object *op for player *pl.
Player Stats effect how well a character can survie and interact inside the crossfire world This section discusses the various stats
living stats
Str, Con, Dex, etc.
void init_type_power_crystal(void)
Initializer for the POWER_CRYSTAL object type.
static const char * crystal_levels[LEVELS]
Existing levels, dot-terminated.
#define MSG_TYPE_APPLY
Applying objects.
void register_describe(int ob_type, describe_func method)
Registers the describe method for the given type.
static void add_capacity(const object *op, StringBuffer *buf, int previous_sp)
Add the capacity of the crystal to the buffer.