A Deno-powered backend service for Plants vs. Zombies: MODDED. [Read-only GitHub mirror] docs.pvzm.net
express typescript expressjs plant deno jspvz pvzm game online backend plants-vs-zombies zombie javascript plants modded vs plantsvszombies openapi pvz noads
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

0.4.2: fix zombie decoding

Clay 93b1ba6f ab178317

+24 -2
+1 -1
README.md
··· 1 - # PVZM Backend ![v0.4.1](https://img.shields.io/badge/version-v0.2.2-darklime) 1 + # PVZM Backend ![v0.4.2](https://img.shields.io/badge/version-v0.2.2-darklime) 2 2 3 3 > A Deno-powered backend service for [Plants vs. Zombies: MODDED](https://github.com/roblnet13/pvz). This service provides APIs for uploading, downloading, listing, favoriting, and reporting user-created _I, Zombie_ levels. 4 4
+1 -1
deno.json
··· 1 1 { 2 - "version": "0.4.1", 2 + "version": "0.4.2", 3 3 "tasks": { 4 4 "dev": "deno run --watch -P=dev --env-file=.env main.ts", 5 5 "start": "deno run -P --env-file=.env main.ts",
+22
modules/levels_io.ts
··· 192 192 continue; 193 193 } 194 194 195 + if (key === "selectedZombies" && Array.isArray(value)) { 196 + result[mappedKey] = value.map((zombieName) => { 197 + const index = iZombies.indexOf(zombieName); 198 + return index !== -1 ? index : zombieName; 199 + }); 200 + continue; 201 + } 202 + 195 203 result[mappedKey] = tinyifyKeys(value); 196 204 } 197 205 return result; ··· 209 217 210 218 if (mapped === "plantName" && typeof v === "number") { 211 219 result[mapped] = allPlantsStringArray[v] || v; 220 + } else if (mapped === "selectedZombies" && Array.isArray(v)) { 221 + result[mapped] = v.map((zombieIndex: unknown) => { 222 + if (typeof zombieIndex === "number" && iZombies[zombieIndex]) { 223 + return iZombies[zombieIndex]; 224 + } 225 + return zombieIndex; 226 + }); 212 227 } else { 213 228 result[mapped] = reverseKeys(v); 214 229 } ··· 227 242 228 243 if (mapped === "plantName" && typeof value === "number") { 229 244 result[mapped] = allPlantsStringArray[value] || value; 245 + } else if (mapped === "selectedZombies" && Array.isArray(value)) { 246 + result[mapped] = value.map((zombieIndex: unknown) => { 247 + if (typeof zombieIndex === "number" && iZombies[zombieIndex]) { 248 + return iZombies[zombieIndex]; 249 + } 250 + return zombieIndex; 251 + }); 230 252 } else { 231 253 result[mapped] = reverseKeys(value); 232 254 }