Commit Diff


commit - d5faed8f62550914f4e06a8b1464702aa39d1c0b
commit + 373f08a56d950ffafd69d513541700d78a2f67bb
blob - 1a8915419934fe0bd72c5094c0afb373e5850888
blob + 71c3b08d83c64ab47e38b22b104b6e019be4d641
--- character.c
+++ character.c
@@ -623,31 +623,57 @@ load_character(int id)
 
 			snprintf(c->name, MAX_CHAR_LEN, "%s", json_object_get_string(name));
 			c->id		 = id;
-			c->edge 	 = json_object_get_int(json_object_object_get(temp, "edge"));
-			c->heart 	 = json_object_get_int(json_object_object_get(temp, "heart"));
-			c->iron 	 = json_object_get_int(json_object_object_get(temp, "iron"));
-			c->shadow	 = json_object_get_int(json_object_object_get(temp, "shadow"));
-			c->wits		 = json_object_get_int(json_object_object_get(temp, "wits"));
-			c->exp		 = json_object_get_int(json_object_object_get(temp, "exp"));
-			c->health	 = json_object_get_int(json_object_object_get(temp, "health"));
-			c->spirit	 = json_object_get_int(json_object_object_get(temp, "spirit"));
-			c->supply	 = json_object_get_int(json_object_object_get(temp, "supply"));
-			c->wounded	 = json_object_get_int(json_object_object_get(temp, "wounded"));
-			c->shaken	 = json_object_get_int(json_object_object_get(temp, "shaken"));
-			c->maimed	 = json_object_get_int(json_object_object_get(temp, "maimed"));
-			c->cursed	 = json_object_get_int(json_object_object_get(temp, "cursed"));
-			c->dead 	 = json_object_get_int(json_object_object_get(temp, "dead"));
-			c->bonds	 = json_object_get_double(json_object_object_get(temp, "bonds"));
-			c->corrupted = json_object_get_int(json_object_object_get(temp, "corrupted"));
-			c->tormented = json_object_get_int(json_object_object_get(temp, "tormented"));
-			c->exp_used	 = json_object_get_int(json_object_object_get(temp, "exp_used"));
-			c->unprepared= json_object_get_int(json_object_object_get(temp, "unprepared"));
-			c->momentum	 = json_object_get_int(json_object_object_get(temp, "momentum"));
-			c->encumbered = json_object_get_int(json_object_object_get(temp, "encumbered"));
-			c->max_momentum = json_object_get_int(json_object_object_get(temp, "max_momentum"));
-			c->momentum_reset = json_object_get_int(json_object_object_get(temp, "momentum_reset"));
-			c->journey_active = json_object_get_int(json_object_object_get(temp, "journey_active"));
-			c->fight_active   = json_object_get_int(json_object_object_get(temp, "fight_active"));
+			json_object *cval;
+			json_object_object_get_ex(temp, "edge", &cval);
+			c->edge = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "heart", &cval);
+			c->heart = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "iron", &cval);
+			c->iron = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "shadow", &cval);
+			c->shadow = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "wits", &cval);
+			c->wits	= json_object_get_int(cval);
+			json_object_object_get_ex(temp, "exp", &cval);
+			c->exp = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "health", &cval);
+			c->health = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "spirit", &cval);
+			c->spirit = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "supply", &cval);
+			c->supply = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "wounded", &cval);
+			c->wounded = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "shaken", &cval);
+			c->shaken = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "maimed", &cval);
+			c->maimed = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "cursed", &cval);
+			c->cursed = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "dead", &cval);
+			c->dead  = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "bonds", &cval);
+			c->bonds = json_object_get_double(cval);
+			json_object_object_get_ex(temp, "corrupted", &cval);
+			c->corrupted = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "tormented", &cval);
+			c->tormented = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "exp_used", &cval);
+			c->exp_used = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "unprepared", &cval);
+			c->unprepared= json_object_get_int(cval);
+			json_object_object_get_ex(temp, "momentum", &cval);
+			c->momentum = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "encumbered", &cval);
+			c->encumbered = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "max_momentum", &cval);
+			c->max_momentum = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "momentum_reset", &cval);
+			c->momentum_reset = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "journey_active", &cval);
+			c->journey_active = json_object_get_int(cval);
+			json_object_object_get_ex(temp, "fight_active", &cval);
+			c->fight_active = json_object_get_int(cval);
 		}
 	}