From 95e9d4d9a0fac88204dabfe8a43c7801f9df43da Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 5 Jun 2016 08:35:59 +0100 Subject: [PATCH] Allow item images to be random. --- data/challenges/09.json | 3 +-- data/challenges/12.json | 3 +-- data/challenges/30.json | 1 - src/battle/items.c | 36 +++++++++++++++++------------------- 4 files changed, 19 insertions(+), 24 deletions(-) diff --git a/data/challenges/09.json b/data/challenges/09.json index dcedc44..3b2f57b 100644 --- a/data/challenges/09.json +++ b/data/challenges/09.json @@ -56,9 +56,8 @@ ], "items" : [ { - "name" : "package", "number" : 50, - "type" : "smallCrate", + "type" : "RANDOM", "x" : 25, "y" : 25, "scatter" : 5000, diff --git a/data/challenges/12.json b/data/challenges/12.json index 0b8f226..3195373 100644 --- a/data/challenges/12.json +++ b/data/challenges/12.json @@ -33,9 +33,8 @@ }, "items" : [ { - "name" : "package", "number" : 8, - "type" : "smallCrate", + "type" : "RANDOM", "x" : 25, "y" : 25, "scatter" : 5000, diff --git a/data/challenges/30.json b/data/challenges/30.json index 0c0ec3e..7bed554 100644 --- a/data/challenges/30.json +++ b/data/challenges/30.json @@ -32,7 +32,6 @@ }, "items" : [ { - "name" : "package", "number" : 100, "type" : "RANDOM", "x" : 25, diff --git a/src/battle/items.c b/src/battle/items.c index 90e1099..da31e4d 100644 --- a/src/battle/items.c +++ b/src/battle/items.c @@ -63,11 +63,24 @@ void loadItemDefs(void) Entity *spawnItem(char *name) { - Entity *item, *def; + Entity *e, *def, *item; item = spawnEntity(); - def = getItemDef(name); + if (strcmp(name, "RANDOM")) + { + def = getItemDef(name); + } + else + { + for (e = defHead.next ; e != NULL ; e = e->next) + { + if (!def || rand() % 2) + { + def = e; + } + } + } memcpy(item, def, sizeof(Entity)); @@ -80,24 +93,9 @@ Entity *spawnItem(char *name) void addRandomItem(int x, int y) { - Entity *e, *def, *item; - - def = item = e = NULL; - - for (e = defHead.next ; e != NULL ; e = e->next) - { - if (!def || rand() % 2) - { - def = e; - } - } - - item = spawnEntity(); - - memcpy(item, def, sizeof(Entity)); - - item->next = NULL; + Entity *item; + item = spawnItem("RANDOM"); item->x = x; item->y = y; item->speed = 1;