… | |
… | |
98 | |
98 | |
99 | /* Eneq(@csd.uu.se): If we have an open container hide it. */ |
99 | /* Eneq(@csd.uu.se): If we have an open container hide it. */ |
100 | container = ob->container; |
100 | container = ob->container; |
101 | ob->container = 0; |
101 | ob->container = 0; |
102 | |
102 | |
103 | fprintf (freezer, "password %s\n", password); |
103 | #define PL_OUT(k) freezer.put (KW_ ## k, k) |
|
|
104 | #define PL_OUT2(k,v) freezer.put (KW_ ## k, v) |
104 | |
105 | |
105 | if (own_title[0] != '\0') |
106 | PL_OUT (password); |
106 | fprintf (freezer, "title %s\n", own_title); |
107 | PL_OUT2 (title, own_title); |
|
|
108 | PL_OUT (explore); |
|
|
109 | PL_OUT (gen_hp); |
|
|
110 | PL_OUT (gen_sp); |
|
|
111 | PL_OUT (gen_grace); |
|
|
112 | PL_OUT (listening); |
|
|
113 | PL_OUT (shoottype); |
|
|
114 | PL_OUT (bowtype); |
|
|
115 | PL_OUT (petmode); |
|
|
116 | PL_OUT (peaceful); |
|
|
117 | PL_OUT (digestion); |
|
|
118 | PL_OUT2 (pickup, mode); |
|
|
119 | PL_OUT (outputs_sync); |
|
|
120 | PL_OUT (outputs_count); |
107 | |
121 | |
108 | fprintf (freezer, "explore %d\n", explore); |
|
|
109 | fprintf (freezer, "gen_hp %d\n", gen_hp); |
|
|
110 | fprintf (freezer, "gen_sp %d\n", gen_sp); |
|
|
111 | fprintf (freezer, "gen_grace %d\n", gen_grace); |
|
|
112 | fprintf (freezer, "listening %d\n", listening); |
|
|
113 | fprintf (freezer, "shoottype %d\n", shoottype); |
|
|
114 | fprintf (freezer, "bowtype %d\n", bowtype); |
|
|
115 | fprintf (freezer, "petmode %d\n", petmode); |
|
|
116 | fprintf (freezer, "peaceful %d\n", peaceful); |
|
|
117 | fprintf (freezer, "digestion %d\n", digestion); |
|
|
118 | fprintf (freezer, "pickup %d\n", mode); |
|
|
119 | fprintf (freezer, "outputs_sync %d\n", outputs_sync); |
|
|
120 | fprintf (freezer, "outputs_count %d\n", outputs_count); |
|
|
121 | /* Match the enumerations but in string form */ |
|
|
122 | fprintf (freezer, "usekeys %s\n", usekeys == key_inventory ? "key_inventory" : (usekeys == keyrings ? "keyrings" : "containers")); |
122 | freezer.put (KW_usekeys, usekeys == key_inventory ? "key_inventory" : (usekeys == keyrings ? "keyrings" : "containers")); |
123 | /* Match the enumerations but in string form */ |
123 | freezer.put (KW_unapply, unapply == unapply_nochoice ? "unapply_nochoice" : (unapply == unapply_never ? "unapply_never" : "unapply_always")); |
124 | fprintf (freezer, "unapply %s\n", unapply == unapply_nochoice ? "unapply_nochoice" : |
|
|
125 | (unapply == unapply_never ? "unapply_never" : "unapply_always")); |
|
|
126 | |
124 | |
127 | if (ob->map) |
125 | if (ob->map) PL_OUT2 (map, ob->map->path); |
128 | fprintf (freezer, "map %s\n", &ob->map->path); |
|
|
129 | |
126 | |
130 | fprintf (freezer, "savebed_map %s\n", &savebed_map); |
127 | PL_OUT (savebed_map); |
131 | fprintf (freezer, "bed_x %d\nbed_y %d\n", bed_x, bed_y); |
128 | PL_OUT (bed_x); |
132 | fprintf (freezer, "weapon_sp %f\n", weapon_sp); |
129 | PL_OUT (bed_y); |
133 | fprintf (freezer, "Str %d\n", orig_stats.Str); |
130 | PL_OUT (weapon_sp); |
134 | fprintf (freezer, "Dex %d\n", orig_stats.Dex); |
131 | PL_OUT2 (Str, orig_stats.Str); |
135 | fprintf (freezer, "Con %d\n", orig_stats.Con); |
132 | PL_OUT2 (Dex, orig_stats.Dex); |
136 | fprintf (freezer, "Int %d\n", orig_stats.Int); |
133 | PL_OUT2 (Con, orig_stats.Con); |
137 | fprintf (freezer, "Pow %d\n", orig_stats.Pow); |
134 | PL_OUT2 (Int, orig_stats.Int); |
138 | fprintf (freezer, "Wis %d\n", orig_stats.Wis); |
135 | PL_OUT2 (Pow, orig_stats.Pow); |
139 | fprintf (freezer, "Cha %d\n", orig_stats.Cha); |
136 | PL_OUT2 (Wis, orig_stats.Wis); |
|
|
137 | PL_OUT2 (Cha, orig_stats.Cha); |
140 | |
138 | |
141 | fprintf (freezer, "lev_array %d\n", ob->level > 10 ? 10 : ob->level); |
139 | PL_OUT2 (lev_array, min (ob->level, 10)); |
142 | |
140 | |
143 | for (int i = 1; i <= last_level && i <= 10; i++) |
141 | for (int i = 1; i <= last_level && i <= 10; i++) |
144 | { |
142 | { |
145 | fprintf (freezer, "%d\n", levhp[i]); |
143 | fprintf (freezer, "%d\n", levhp[i]); |
146 | fprintf (freezer, "%d\n", levsp[i]); |
144 | fprintf (freezer, "%d\n", levsp[i]); |
147 | fprintf (freezer, "%d\n", levgrace[i]); |
145 | fprintf (freezer, "%d\n", levgrace[i]); |
148 | } |
146 | } |
149 | |
147 | |
150 | freezer.put (ob->contr); |
148 | freezer.put (ob->contr); |
151 | |
149 | freezer.put (KW_endplst); |
152 | fprintf (freezer, "endplst\n"); |
|
|
153 | |
150 | |
154 | SET_FLAG (ob, FLAG_NO_FIX_PLAYER); |
151 | SET_FLAG (ob, FLAG_NO_FIX_PLAYER); |
155 | CLEAR_FLAG (ob, FLAG_WIZ); |
152 | CLEAR_FLAG (ob, FLAG_WIZ); |
156 | save_object (freezer, ob, 1); /* don't check and don't remove */ |
153 | save_object (freezer, ob, 1); /* don't check and don't remove */ |
157 | |
154 | |