X-Git-Url: https://plomlompom.com/repos/index.html?a=blobdiff_plain;f=src%2Fserver%2Fmap_object_actions.c;h=1c49108b0c654ce1dfbc8a2ca2a838d3c3efc3f3;hb=1d09b2399527569b3a8cea18abf44cad33248719;hp=694300dccef5116acfb2a1031d001c034490d7ff;hpb=39ab34a368fbe30dc6639e021da89b1a20243fd6;p=plomrogue diff --git a/src/server/map_object_actions.c b/src/server/map_object_actions.c index 694300d..1c49108 100644 --- a/src/server/map_object_actions.c +++ b/src/server/map_object_actions.c @@ -2,7 +2,7 @@ #include "map_object_actions.h" #include /* NULL */ -#include /* uint8_t, uint16_t, UINT8_MAx */ +#include /* uint8_t, uint16_t */ #include /* sprintf(), ungetc() */ #include /* free(), atoi() */ #include /* strlen(), strcmp(), memcpy(), strncmp() */ @@ -235,8 +235,7 @@ extern void init_map_object_actions() char line[linemax + 1]; struct MapObjAct ** moa_ptr_ptr = &world.map_obj_acts; char * context = "Failed reading map object actions config file. "; - char * err_toolarge = "Value is too large."; - char * err_uniq = "Declaration of ID already used."; + char * err_uniq = "Declaration of ID already used."; reset_err_try_fgets_counter(); while (1) { @@ -247,16 +246,14 @@ extern void init_map_object_actions() } exit_trouble(EOF == ungetc(test_for_end, file), f_name, "ungetc()"); struct MapObjAct * moa = try_malloc(sizeof(struct MapObjAct), f_name); - err_try_fgets(line, linemax, file, context, "nfi"); - err_line(atoi(line) > UINT8_MAX, line, context, err_toolarge); + err_try_fgets(line, linemax, file, context, "nfi8"); moa->id = atoi(line); struct MapObjAct * moa_test = world.map_obj_acts; for (; NULL != moa_test; moa_test = moa_test->next) { err_line(moa->id == moa_test->id, line, context, err_uniq); } - err_try_fgets(line, linemax, file, context, "0nfi"); - err_line(atoi(line) > UINT8_MAX, line, context, err_toolarge); + err_try_fgets(line, linemax, file, context, "0nfi8"); moa->effort = atoi(line); err_try_fgets(line, linemax, file, context, "0nf"); line[strlen(line) - 1] = '\0'; @@ -405,7 +402,7 @@ extern void actor_use(struct MapObj * mo) struct MapObj * selected = mo->owns; for (; i != select; i++, selected = selected->next); struct MapObjDef * mod = get_map_object_def(selected->type); - if (!strcmp("MAGIC MEAT", mod->name)) + if (mod->consumable) { wrong_object = 0; struct MapObj * next = selected->next; @@ -421,7 +418,7 @@ extern void actor_use(struct MapObj * mo) { mo->owns = next; } - mo->lifepoints++; + mo->lifepoints = mo->lifepoints + mod->consumable; } } if (mo == get_player())