Guest User

Untitled

a guest
Oct 18th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 80.12 KB | None | 0 0
  1. Only in BetterHomesAndGardens/: cataclysm
  2. diff -crB Catacompare/crafting.cpp BetterHomesAndGardens/crafting.cpp
  3. *** Catacompare/crafting.cpp 2011-08-21 15:34:02.000000000 -0400
  4. --- BetterHomesAndGardens/crafting.cpp 2011-09-01 15:49:07.000000000 -0400
  5. ***************
  6. *** 387,437 ****
  7. // ARMOR
  8.  
  9. RECIPE(itm_mocassins, CC_ARMOR, sk_tailor, sk_null, 1, 30000);
  10. ! TOOL(itm_sewing_kit, 5, NULL);
  11. COMP(itm_fur, 2, NULL);
  12.  
  13. RECIPE(itm_boots, CC_ARMOR, sk_tailor, sk_null, 2, 35000);
  14. ! TOOL(itm_sewing_kit, 10, NULL);
  15. COMP(itm_leather, 2, NULL);
  16.  
  17. RECIPE(itm_jeans, CC_ARMOR, sk_tailor, sk_null, 2, 45000);
  18. ! TOOL(itm_sewing_kit, 10, NULL);
  19. COMP(itm_rag, 6, NULL);
  20.  
  21. RECIPE(itm_pants_cargo, CC_ARMOR, sk_tailor, sk_null, 3, 48000);
  22. ! TOOL(itm_sewing_kit, 16, NULL);
  23. COMP(itm_rag, 8, NULL);
  24.  
  25. RECIPE(itm_pants_leather, CC_ARMOR, sk_tailor, sk_null, 4, 50000);
  26. ! TOOL(itm_sewing_kit, 10, NULL);
  27. COMP(itm_leather, 6, NULL);
  28.  
  29. RECIPE(itm_tank_top, CC_ARMOR, sk_tailor, sk_null, 2, 38000);
  30. ! TOOL(itm_sewing_kit, 4, NULL);
  31. COMP(itm_rag, 4, NULL);
  32.  
  33. RECIPE(itm_hoodie, CC_ARMOR, sk_tailor, sk_null, 3, 40000);
  34. ! TOOL(itm_sewing_kit, 14, NULL);
  35. COMP(itm_rag, 8, NULL);
  36.  
  37. RECIPE(itm_trenchcoat, CC_ARMOR, sk_tailor, sk_null, 3, 42000);
  38. ! TOOL(itm_sewing_kit, 24, NULL);
  39. COMP(itm_rag, 10, NULL);
  40.  
  41. RECIPE(itm_coat_fur, CC_ARMOR, sk_tailor, sk_null, 4, 100000);
  42. ! TOOL(itm_sewing_kit, 20, NULL);
  43. COMP(itm_fur, 10, NULL);
  44.  
  45. RECIPE(itm_jacket_leather, CC_ARMOR, sk_tailor, sk_null, 5, 150000);
  46. ! TOOL(itm_sewing_kit, 30, NULL);
  47. COMP(itm_leather, 8, NULL);
  48.  
  49. RECIPE(itm_gloves_light, CC_ARMOR, sk_tailor, sk_null, 1, 10000);
  50. ! TOOL(itm_sewing_kit, 2, NULL);
  51. COMP(itm_rag, 2, NULL);
  52.  
  53. RECIPE(itm_gloves_fingerless, CC_ARMOR, sk_tailor, sk_null, 3, 16000);
  54. ! TOOL(itm_sewing_kit, 6, NULL);
  55. COMP(itm_leather, 2, NULL);
  56.  
  57. RECIPE(itm_mask_filter, CC_ARMOR, sk_mechanics, sk_tailor, 1, 5000);
  58. --- 386,436 ----
  59. // ARMOR
  60.  
  61. RECIPE(itm_mocassins, CC_ARMOR, sk_tailor, sk_null, 1, 30000);
  62. ! TOOL(itm_sewing_kit, 5, itm_sewing_machine, 25, NULL);
  63. COMP(itm_fur, 2, NULL);
  64.  
  65. RECIPE(itm_boots, CC_ARMOR, sk_tailor, sk_null, 2, 35000);
  66. ! TOOL(itm_sewing_kit, 10, itm_sewing_machine, 50, NULL);
  67. COMP(itm_leather, 2, NULL);
  68.  
  69. RECIPE(itm_jeans, CC_ARMOR, sk_tailor, sk_null, 2, 45000);
  70. ! TOOL(itm_sewing_kit, 10, itm_sewing_machine, 50, NULL);
  71. COMP(itm_rag, 6, NULL);
  72.  
  73. RECIPE(itm_pants_cargo, CC_ARMOR, sk_tailor, sk_null, 3, 48000);
  74. ! TOOL(itm_sewing_kit, 16, itm_sewing_machine, 80, NULL);
  75. COMP(itm_rag, 8, NULL);
  76.  
  77. RECIPE(itm_pants_leather, CC_ARMOR, sk_tailor, sk_null, 4, 50000);
  78. ! TOOL(itm_sewing_kit, 10, itm_sewing_machine, 50, NULL);
  79. COMP(itm_leather, 6, NULL);
  80.  
  81. RECIPE(itm_tank_top, CC_ARMOR, sk_tailor, sk_null, 2, 38000);
  82. ! TOOL(itm_sewing_kit, 4, itm_sewing_machine, 20, NULL);
  83. COMP(itm_rag, 4, NULL);
  84.  
  85. RECIPE(itm_hoodie, CC_ARMOR, sk_tailor, sk_null, 3, 40000);
  86. ! TOOL(itm_sewing_kit, 14, itm_sewing_machine, 70, NULL);
  87. COMP(itm_rag, 8, NULL);
  88.  
  89. RECIPE(itm_trenchcoat, CC_ARMOR, sk_tailor, sk_null, 3, 42000);
  90. ! TOOL(itm_sewing_kit, 24, itm_sewing_machine, 120, NULL);
  91. COMP(itm_rag, 10, NULL);
  92.  
  93. RECIPE(itm_coat_fur, CC_ARMOR, sk_tailor, sk_null, 4, 100000);
  94. ! TOOL(itm_sewing_kit, 20, itm_sewing_machine, 100, NULL);
  95. COMP(itm_fur, 10, NULL);
  96.  
  97. RECIPE(itm_jacket_leather, CC_ARMOR, sk_tailor, sk_null, 5, 150000);
  98. ! TOOL(itm_sewing_kit, 30, itm_sewing_machine, 150, NULL);
  99. COMP(itm_leather, 8, NULL);
  100.  
  101. RECIPE(itm_gloves_light, CC_ARMOR, sk_tailor, sk_null, 1, 10000);
  102. ! TOOL(itm_sewing_kit, 2, itm_sewing_machine, 10, NULL);
  103. COMP(itm_rag, 2, NULL);
  104.  
  105. RECIPE(itm_gloves_fingerless, CC_ARMOR, sk_tailor, sk_null, 3, 16000);
  106. ! TOOL(itm_sewing_kit, 6, itm_sewing_machine, 30, NULL);
  107. COMP(itm_leather, 2, NULL);
  108.  
  109. RECIPE(itm_mask_filter, CC_ARMOR, sk_mechanics, sk_tailor, 1, 5000);
  110. ***************
  111. *** 457,463 ****
  112. COMP(itm_amplifier, 3, NULL);
  113.  
  114. RECIPE(itm_hat_fur, CC_ARMOR, sk_tailor, sk_null, 2, 40000);
  115. ! TOOL(itm_sewing_kit, 8, NULL);
  116. COMP(itm_fur, 3, NULL);
  117.  
  118. RECIPE(itm_helmet_chitin, CC_ARMOR, sk_tailor, sk_null, 6, 60000);
  119. --- 456,462 ----
  120. COMP(itm_amplifier, 3, NULL);
  121.  
  122. RECIPE(itm_hat_fur, CC_ARMOR, sk_tailor, sk_null, 2, 40000);
  123. ! TOOL(itm_sewing_kit, 8, itm_sewing_machine, 40, NULL);
  124. COMP(itm_fur, 3, NULL);
  125.  
  126. RECIPE(itm_helmet_chitin, CC_ARMOR, sk_tailor, sk_null, 6, 60000);
  127. ***************
  128. *** 468,477 ****
  129. COMP(itm_string_36, 2, itm_string_6, 12, NULL);
  130. COMP(itm_chitin_piece, 15, NULL);
  131.  
  132. ! RECIPE(itm_backpack, CC_ARMOR, sk_tailor, sk_null, 3, 50000);
  133. ! TOOL(itm_sewing_kit, 20, NULL);
  134. COMP(itm_rag, 20, itm_fur, 16, itm_leather, 12, NULL);
  135.  
  136. // MISC
  137.  
  138. RECIPE(itm_superglue, CC_MISC, sk_cooking, sk_null, 2, 12000);
  139. --- 467,494 ----
  140. COMP(itm_string_36, 2, itm_string_6, 12, NULL);
  141. COMP(itm_chitin_piece, 15, NULL);
  142.  
  143. ! //GlyphGryph's Additions - Note, removed regular backpack recipe
  144. ! RECIPE(itm_knapsack, CC_ARMOR, sk_tailor, sk_null, 3, 40000);
  145. ! TOOL(itm_sewing_kit, 10, itm_sewing_machine, 50, NULL);
  146. ! COMP(itm_rag, 10, itm_fur, 8, itm_leather, 6, NULL);
  147. !
  148. ! RECIPE(itm_rucksack, CC_ARMOR, sk_tailor, sk_null, 4, 50000);
  149. ! TOOL(itm_sewing_kit, 20, itm_sewing_machine, 100, NULL);
  150. COMP(itm_rag, 20, itm_fur, 16, itm_leather, 12, NULL);
  151.  
  152. + RECIPE(itm_rigid_backpack, CC_ARMOR, sk_tailor, sk_mechanics, 4, 70000);
  153. + TOOL(itm_sewing_kit, 25, itm_sewing_machine, 125, NULL);
  154. + TOOL(itm_hacksaw, -1, itm_saw, -1, NULL);
  155. + TOOL(itm_screwdriver, -1, itm_hammer, -1, NULL);
  156. + COMP(itm_pipe, 1, itm_2x4, 1, itm_mop, 1, itm_broom, 1, NULL);
  157. + COMP(itm_pipe, 1, itm_2x4, 1, itm_mop, 1, itm_broom, 1, NULL);
  158. + COMP(itm_pipe, 1, itm_2x4, 1, itm_mop, 1, itm_broom, 1, NULL);
  159. +
  160. + RECIPE(itm_socks, CC_ARMOR, sk_tailor, sk_null, 4, 70000);
  161. + TOOL(itm_sewing_kit, 4, itm_sewing_machine, 20, NULL);
  162. + COMP(itm_rag, 2, NULL);
  163. + //
  164. +
  165. // MISC
  166.  
  167. RECIPE(itm_superglue, CC_MISC, sk_cooking, sk_null, 2, 12000);
  168. ***************
  169. *** 562,567 ****
  170. --- 579,598 ----
  171. COMP(itm_power_supply, 1, NULL);
  172. COMP(itm_battery, 500, itm_plut_cell, 1, NULL);
  173.  
  174. + //GlyphGryph's Recipes
  175. + RECIPE(itm_torch, CC_MISC, sk_null, sk_null, 0, 600);
  176. + COMP(itm_rag, 2, NULL);
  177. + COMP(itm_whiskey, 1, itm_vodka, 1, itm_rum, 1, itm_tequila, 1,
  178. + itm_gasoline, 1, NULL);
  179. + COMP(itm_2x4, 1, itm_bat, 1, itm_stick, 1, itm_mop, 1, NULL);
  180. +
  181. + RECIPE(itm_blackjack, CC_WEAPON, sk_bashing, sk_null, 0, 1000);
  182. + COMP(itm_socks, 1, itm_leather, 1, NULL);
  183. + COMP(itm_rock, 1, itm_coins, 1, NULL);
  184. +
  185. +
  186. + //End GlyphGryph's Recipes
  187. +
  188. }
  189.  
  190. void game::craft()
  191. Only in BetterHomesAndGardens/: .deps
  192. diff -crB Catacompare/game.cpp BetterHomesAndGardens/game.cpp
  193. *** Catacompare/game.cpp 2011-08-21 15:34:02.000000000 -0400
  194. --- BetterHomesAndGardens/game.cpp 2011-08-21 17:33:58.000000000 -0400
  195. ***************
  196. *** 1983,1990 ****
  197. --- 1983,1998 ----
  198. if (ret > 10)
  199. ret = 10;
  200. }
  201. + int torch = u.active_item_charges(itm_lit_torch);
  202. + if (ret < 10 && torch > 0){
  203. + ret = torch/10-rand()%3;
  204. + if (ret > 10){
  205. + ret = 10;
  206. + }
  207. + }
  208. if (ret < 8 && u.has_active_bionic(bio_flashlight))
  209. ret = 8;
  210. + if (ret < 1) ret = 1;
  211. return ret;
  212. }
  213.  
  214. diff -crB Catacompare/itypedef.cpp BetterHomesAndGardens/itypedef.cpp
  215. *** Catacompare/itypedef.cpp 2011-08-21 15:34:02.000000000 -0400
  216. --- BetterHomesAndGardens/itypedef.cpp 2011-09-01 01:35:42.000000000 -0400
  217. ***************
  218. *** 651,657 ****
  219. for throwing at enemies.");
  220.  
  221. MELEE("heavy stick", 95, 0, '/', c_brown, WOOD, MNULL,
  222. ! 6, 10, 12, 0, 3, 0, "\
  223. A sturdy, heavy stick. Makes a decent melee weapon, and can be cut into two\n\
  224. by fours for crafting.");
  225.  
  226. --- 651,657 ----
  227. for throwing at enemies.");
  228.  
  229. MELEE("heavy stick", 95, 0, '/', c_brown, WOOD, MNULL,
  230. ! 6, 10, 12, 0, 1, 0, "\
  231. A sturdy, heavy stick. Makes a decent melee weapon, and can be cut into two\n\
  232. by fours for crafting.");
  233.  
  234. ***************
  235. *** 664,670 ****
  236. An unwieldy mop. Essentially useless.");
  237.  
  238. MELEE("screwdriver", 40, 65, ';', c_ltcyan, IRON, PLASTIC,
  239. ! 1, 1, 2, 8, 1, mfb(IF_SPEAR), "\
  240. A Philips-head screwdriver, important for almost all electronics crafting and\n\
  241. most mechanics crafting.");
  242.  
  243. --- 664,670 ----
  244. An unwieldy mop. Essentially useless.");
  245.  
  246. MELEE("screwdriver", 40, 65, ';', c_ltcyan, IRON, PLASTIC,
  247. ! 1, 1, 2, 8, -4, mfb(IF_SPEAR), "\
  248. A Philips-head screwdriver, important for almost all electronics crafting and\n\
  249. most mechanics crafting.");
  250.  
  251. ***************
  252. *** 802,1048 ****
  253.  
  254. MELEE("gold bar", 10,3000,'/', c_yellow, STEEL, MNULL,
  255. 2, 60, 14, 0, -1, 0, "\
  256. ! A large bar of gold. Before the apocalypse, this wouldn't been worth a small\n\
  257. fortune; now its value is greatly diminished.");
  258.  
  259. // ARMOR
  260. #define ARMOR(name,rarity,price,color,mat1,mat2,volume,wgt,dam,to_hit,\
  261. ! encumber,dmg_resist,cut_resist,env,warmth,storage,covers,des)\
  262. index++;itypes.push_back(new it_armor(index,rarity,price,name,des,'[',\
  263. ! color,mat1,mat2,volume,wgt,dam,0,to_hit,0,covers,encumber,dmg_resist,cut_resist,\
  264. ! env,warmth,storage))
  265.  
  266. // NAME RAR PRC COLOR MAT1 MAT2
  267. ARMOR("sneakers", 80, 100,C_SHOES, LEATHER, MNULL,
  268. ! // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  269. ! 5, 4, -2, 0, -1, 0, 2, 0, 2, 0, mfb(bp_feet), "\
  270. Guaranteed to make you run faster and jump higher!");
  271.  
  272. ARMOR("boots", 70, 120,C_SHOES, LEATHER, MNULL,
  273. ! 7, 6, 1, -1, 1, 1, 4, 2, 4, 0, mfb(bp_feet), "\
  274. Tough leather boots, very durable.");
  275.  
  276. ARMOR("steeltoed boots",50, 135,C_SHOES, LEATHER, STEEL,
  277. ! 7, 9, 4, -1, 1, 4, 4, 3, 2, 0, mfb(bp_feet), "\
  278. Leather boots with a steel toe. Extremely durable.");
  279.  
  280. ARMOR("winter boots", 60, 140,C_SHOES, PLASTIC, WOOL,
  281. ! 8, 7, 0, -1, 2, 0, 2, 1, 7, 0, mfb(bp_feet), "\
  282. Cumbersome boots designed for warmth.");
  283.  
  284. ARMOR("mocassins", 5, 80,C_SHOES, LEATHER, WOOL,
  285. ! 2, 1, -3, 0, 0, 0, 1, 0, 3, 0, mfb(bp_feet), "\
  286. Simple shoes made from animal pelts.");
  287.  
  288. // NAME RAR PRC COLOR MAT1 MAT2
  289. ARMOR("flip-flops", 35, 25,C_SHOES, PLASTIC, MNULL,
  290. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  291. ! 1, 1, -4, -2, 3, 0, 0, 0, 0, 0, mfb(bp_feet), "\
  292. Simple sandals. Very difficult to run in.");
  293.  
  294. ARMOR("dress shoes", 50, 45,C_SHOES, LEATHER, MNULL,
  295. ! 5, 3, 1, 1, 1, 0, 3, 0, 1, 0, mfb(bp_feet), "\
  296. Fancy patent leather shoes. Not designed for running in.");
  297.  
  298. ARMOR("heels", 50, 50,C_SHOES, LEATHER, MNULL,
  299. ! 4, 2, 6, -2, 4, 0, 0, 0, 0, 0, mfb(bp_feet), "\
  300. A pair of high heels. Difficult to even walk in.");
  301.  
  302.  
  303. ARMOR("jeans", 90, 180,C_PANTS, COTTON, MNULL,
  304. ! 5, 4, -4, 1, 0, 0, 1, 0, 1, 4, mfb(bp_legs), "\
  305. A pair of blue jeans with two deep pockets.");
  306.  
  307. // NAME RAR PRC COLOR MAT1 MAT2
  308. ARMOR("pants", 75, 185,C_PANTS, COTTON, MNULL,
  309. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  310. ! 5, 5, -4, 1, 0, 0, 1, 0, 2, 4, mfb(bp_legs), "\
  311. A pair of khaki pants. Slightly warmer than jeans.");
  312.  
  313. ARMOR("leather pants", 60, 210,C_PANTS, LEATHER, MNULL,
  314. ! 6, 8, -2, 1, 1, 1, 7, 0, 5, 2, mfb(bp_legs), "\
  315. A pair of black leather pants. Very tough, but encumbersome and without much\n\
  316. storage.");
  317.  
  318. ARMOR("cargo pants", 70, 280,C_PANTS, COTTON, MNULL,
  319. ! 6, 6, -3, 0, 1, 0, 2, 0, 3, 12, mfb(bp_legs), "\
  320. A pair of pants lined with pockets, offering lots of storage.");
  321.  
  322. ARMOR("army pants", 30, 315,C_PANTS, COTTON, MNULL,
  323. ! 6, 7, -2, 0, 1, 0, 3, 0, 4, 14, mfb(bp_legs), "\
  324. A tough pair of pants lined with pockets. Favored by the military.");
  325.  
  326. ARMOR("skirt", 75, 120,C_PANTS, COTTON, MNULL,
  327. ! 2, 2, -5, 0, -1, 0, 0, 0, 0, 1, mfb(bp_legs), "\
  328. A short, breezy cotton skirt. Easy to move in, but only has a single small\n\
  329. pocket.");
  330.  
  331. // NAME RAR PRC COLOR MAT1 MAT2
  332. ARMOR("jumpsuit", 20, 200,C_BODY, COTTON, PLASTIC,
  333. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  334. ! 6, 6, -3, -3, 1, 0, 1, 0, 3, 16, mfb(bp_legs)|mfb(bp_torso), "\
  335. A full-body jumpsuit with many pockets.");
  336.  
  337. ARMOR("dress", 70, 180,C_BODY, COTTON, MNULL,
  338. ! 8, 6, -5, -5, 3, 0, 1, 0, 2, 0, mfb(bp_legs)|mfb(bp_torso), "\
  339. A long cotton dress. Difficult to move in and lacks any storage space.");
  340.  
  341. ARMOR("chitinous armor", 1,1200,C_BODY, FLESH, MNULL,
  342. ! 90, 10, 2, -5, 2, 8, 14, 0, 1, 0, mfb(bp_legs)|mfb(bp_torso), "\
  343. Leg and body armor made from the exoskeletons of insects. Light and durable.");
  344.  
  345. // NAME RAR PRC COLOR MAT1 MAT2
  346. ARMOR("t shirt", 80, 80,C_TORSO, COTTON, MNULL,
  347. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  348. ! 3, 2, -5, 0, 0, 0, 0, 0, 1, 0, mfb(bp_torso), "\
  349. A short-sleeved cotton shirt.");
  350.  
  351. ARMOR("polo shirt", 65, 95,C_TORSO, COTTON, MNULL,
  352. ! 3, 2, -5, 0, 0, 0, 1, 0, 1, 0, mfb(bp_torso), "\
  353. A short-sleeved cotton shirt, slightly thicker than a t-shirt.");
  354.  
  355. ARMOR("dress shirt", 60, 115,C_TORSO, COTTON, MNULL,
  356. ! 3, 3, -5, 0, 1, 0, 1, 0, 1, 1, mfb(bp_torso), "\
  357. A white button-down shirt with long sleeves. Looks professional!");
  358.  
  359. ARMOR("tank top", 50, 75,C_TORSO, COTTON, MNULL,
  360. ! 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, mfb(bp_torso), "\
  361. A sleeveless cotton shirt. Very easy to move in.");
  362.  
  363. ARMOR("sweatshirt", 75, 110,C_TORSO, COTTON, MNULL,
  364. ! 9, 5, -5, 0, 1, 1, 1, 0, 3, 0, mfb(bp_torso), "\
  365. A thick cotton shirt. Provides warmth and a bit of padding.");
  366.  
  367. // NAME RAR PRC COLOR MAT1 MAT2
  368. ARMOR("sweater", 75, 105,C_TORSO, WOOL, MNULL,
  369. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  370. ! 8, 5, -5, 0, 0, 1, 0, 0, 3, 0, mfb(bp_torso), "\
  371. A wool shirt. Provides warmth.");
  372.  
  373. ARMOR("hoodie", 65, 130,C_TORSO, COTTON, MNULL,
  374. ! 10, 5, -5, 0, 1, 1, 2, 0, 3, 9, mfb(bp_torso), "\
  375. A sweatshirt with a hood and a \"kangaroo pocket\" in front for storage.");
  376.  
  377. ARMOR("light jacket", 50, 105,C_TORSO, COTTON, MNULL,
  378. ! 6, 4, -5, 0, 0, 0, 2, 0, 2, 4, mfb(bp_torso), "\
  379. A thin cotton jacket. Good for brisk weather.");
  380.  
  381. ARMOR("jean jacket", 35, 120,C_TORSO, COTTON, MNULL,
  382. ! 7, 5, -3, 0, 1, 0, 4, 0, 2, 3, mfb(bp_torso), "\
  383. A jacket made from denim. Provides decent protection from cuts.");
  384.  
  385. // NAME RAR PRC COLOR MAT1 MAT2
  386. ARMOR("blazer", 35, 120,C_TORSO, WOOL, MNULL,
  387. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  388. ! 10, 6, -4, 0, 2, 0, 3, 0, 3, 2, mfb(bp_torso), "\
  389. A professional-looking wool blazer. Quite encumbersome.");
  390.  
  391. ARMOR("leather jacket", 30, 150,C_TORSO, LEATHER, MNULL,
  392. ! 14, 14, -2, 1, 2, 1, 9, 1, 4, 4, mfb(bp_torso), "\
  393. A jacket made from thick leather. Encumbersome, but offers excellent\n\
  394. protection from cuts.");
  395.  
  396. ARMOR("kevlar vest", 30, 800,C_TORSO, KEVLAR, COTTON,
  397. ! 24, 24, 6, -3, 2, 4, 22, 0, 4, 4, mfb(bp_torso), "\
  398. A heavy bulletproof vest. The best protection from cuts and bullets.");
  399.  
  400. ARMOR("rain coat", 50, 100,C_TORSO, PLASTIC, COTTON,
  401. ! 9, 8, -4, 0, 2, 0, 3, 1, 2, 7, mfb(bp_torso), "\
  402. A plastic coat with two very large pockets. Provides protection from rain.");
  403.  
  404. ARMOR("wool poncho", 15, 120,C_TORSO, WOOL, MNULL,
  405. ! 7, 3, -5, -1, 0, 1, 2, 1, 2, 0, mfb(bp_torso), "\
  406. A simple wool garment worn over the torso. Provides a bit of protection.");
  407.  
  408. // NAME RARE COLOR MAT1 MAT2
  409. ARMOR("trenchcoat", 25, 225,C_TORSO, COTTON, MNULL,
  410. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  411. ! 10, 6, -5, -1, 1, 0, 1, 1, 3, 24, mfb(bp_torso), "\
  412. A long coat lines with pockets. Great for storage.");
  413.  
  414. ARMOR("winter coat", 50, 160,C_TORSO, COTTON, MNULL,
  415. ! 12, 6, -5, -2, 3, 3, 1, 1, 8, 12, mfb(bp_torso), "\
  416. A padded coat with deep pockets. Very warm.");
  417.  
  418. ARMOR("fur coat", 5, 550,C_TORSO, WOOL, FLESH,
  419. ! 18, 12, -5, -5, 2, 4, 2, 2, 10, 4, mfb(bp_torso), "\
  420. A fur coat with a couple small pockets. Extremely warm.");
  421.  
  422. ARMOR("peacoat", 30, 180,C_TORSO, COTTON, MNULL,
  423. ! 16, 10, -4, -3, 2, 1, 2, 0, 7, 10, mfb(bp_torso), "\
  424. A heavy cotton coat. Encumbersome, but warm and with deep pockets.");
  425.  
  426. ARMOR("utility vest", 15, 200,C_TORSO, COTTON, MNULL,
  427. ! 4, 3, -3, 0, 0, 0, 1, 0, 1, 14, mfb(bp_torso), "\
  428. A light vest covered in pockets and straps for storage.");
  429.  
  430. ARMOR("lab coat", 20, 155,C_TORSO, COTTON, MNULL,
  431. ! 11, 7, -3, -2, 1, 1, 2, 0, 1, 14, mfb(bp_torso), "\
  432. A long white coat with several large pockets.");
  433.  
  434. // NAME RAR PRC COLOR MAT1 MAT2
  435. ARMOR("light gloves", 35, 65,C_GLOVES, COTTON, MNULL,
  436. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  437. ! 0, 0, -5, 1, 1, 0, 0, 0, 1, 0, mfb(bp_hands), "\
  438. A pair of thin cotton gloves. Often used as a liner beneath other gloves.");
  439.  
  440. ARMOR("mittens", 30, 40,C_GLOVES, WOOL, MNULL,
  441. ! 0, 0, -5, 1, 8, 0, 1, 0, 5, 0, mfb(bp_hands), "\
  442. A pair of warm mittens. They are extremely encumbersome.");
  443.  
  444. ARMOR("wool gloves", 33, 50,C_GLOVES, WOOL, MNULL,
  445. ! 1, 0, -5, 1, 3, 0, 1, 0, 3, 0, mfb(bp_hands), "\
  446. A thick pair of wool gloves. Encumbersome but warm.");
  447.  
  448. ARMOR("winter gloves", 40, 65,C_GLOVES, COTTON, MNULL,
  449. ! 1, 0, -5, 1, 5, 1, 1, 0, 4, 0, mfb(bp_hands), "\
  450. A pair of padded gloves. Encumbersome but warm.");
  451.  
  452. ARMOR("leather gloves", 45, 85,C_GLOVES, LEATHER, MNULL,
  453. ! 1, 1, -3, 2, 1, 0, 3, 0, 3, 0, mfb(bp_hands), "\
  454. A thin pair of leather gloves. Good for doing manual labor.");
  455.  
  456. // NAME RAR PRC COLOR MAT1 MAT2
  457. ARMOR("fingerless gloves",20,90,C_GLOVES, LEATHER, MNULL,
  458. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  459. ! 1, 1, -3, 2, 0, 0, 2, 0, 2, 0, mfb(bp_hands), "\
  460. A pair of leather gloves with no fingers, allowing greater manual dexterity.");
  461.  
  462. ARMOR("rubber gloves", 20, 30,C_GLOVES, PLASTIC, MNULL,
  463. ! 1, 1, -3, 2, 3, 0, 1, 2, 1, 0, mfb(bp_hands), "\
  464. A pair of rubber gloves, often used while cleaning with caustic materials.");
  465.  
  466. ARMOR("medical gloves", 70, 10,C_GLOVES, PLASTIC, MNULL,
  467. ! 0, 0, -5, 1, 0, 0, 0, 1, 0, 0, mfb(bp_hands), "\
  468. A pair of thin latex gloves, designed to limit the spread of disease.");
  469.  
  470. ARMOR("fire gauntlets", 5, 95,C_GLOVES, LEATHER, MNULL,
  471. ! 3, 5, -2, 2, 6, 1, 2, 5, 4, 0, mfb(bp_hands), "\
  472. A heavy pair of leather gloves, used by firefighters for heat protection.");
  473.  
  474. // NAME RAR PRC COLOR MAT1 MAT2
  475. ARMOR("dust mask", 65, 20,C_MOUTH, COTTON, IRON,
  476. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  477. ! 0, 0, -5, -3, 1, 0, 0, 2, 1, 0, mfb(bp_mouth), "\
  478. A simple piece of cotton that straps over the mouth. Provides a small amount\n\
  479. of protection from air-borne illness and dust.");
  480.  
  481. ARMOR("bandana", 35, 28,C_MOUTH, COTTON, MNULL,
  482. ! 1, 0, -4, -1, 0, 0, 0, 1, 2, 0, mfb(bp_mouth), "\
  483. A cotton bandana, worn over the mouth for warmth and minor protection from\n\
  484. dust and other contaminents.");
  485.  
  486. ARMOR("scarf", 45, 40,C_MOUTH, WOOL, MNULL,
  487. ! 2, 3, -5, -3, 1, 1, 0, 2, 3, 0, mfb(bp_mouth), "\
  488. A long wool scarf, worn over the mouth for warmth.");
  489.  
  490. ARMOR("filter mask", 30, 80,C_MOUTH, PLASTIC, MNULL,
  491. ! 3, 6, 1, 1, 2, 1, 1, 7, 2, 0, mfb(bp_mouth), "\
  492. A mask that straps over your mouth and nose and filters air. Protects from\n\
  493. smoke, dust, and other contaminents quite well.");
  494.  
  495. ARMOR("gas mask", 10, 240,C_MOUTH, PLASTIC, MNULL,
  496. ! 6, 8, 0, -3, 4, 1, 2, 16, 4, 0, mfb(bp_mouth)|mfb(bp_eyes), "\
  497. A full gas mask that covers the face and eyes. Provides excellent protection\n\
  498. from smoke, teargas, and other contaminents.");
  499.  
  500. --- 802,1091 ----
  501.  
  502. MELEE("gold bar", 10,3000,'/', c_yellow, STEEL, MNULL,
  503. 2, 60, 14, 0, -1, 0, "\
  504. ! A large bar of gold. Before the apocalypse, this would have been worth a small\n\
  505. fortune; now its value is greatly diminished.");
  506.  
  507. + //GlyphGryph's Additions
  508. + MELEE("chair", 93, 15,'h', c_brown, WOOD, MNULL,
  509. + 90, 15, 20, 4, -3, mfb(IF_SPEAR), "\
  510. + A fairly sturdy four-legged wooden chair. Slow and unwiedly,\n\
  511. + but decent damage.");
  512. +
  513. + MELEE("burnt torch", 0, 10,';', c_brown, WOOD, MNULL,
  514. + 5, 5, 12, 0, 2, 0, "\
  515. + This is a burn-out torch. Useful as a club, maybe, but not much else.");
  516. +
  517. + MELEE("weight plate", 8, 15,'o', c_green, IRON, MNULL,
  518. + 16, 40, 44, 0, -5, 0, "\
  519. + One of the plates intended to be slid on to the end of a barbell.\n\
  520. + This plate is big, heavy, and unwieldy. You could probably do a lot of damage\n\
  521. + if you hit something with it though.");
  522. +
  523. + MELEE("barbell", 8, 10,'/', c_green, STEEL, MNULL,
  524. + 16, 25, 32, 0, 3, 0, "\
  525. + A metal bar. It is heavy and quite sturdy. Built in grips to prevent slippage.");
  526. +
  527. + MELEE("dumbell", 19, 10,'H', c_green, STEEL, MNULL,
  528. + 5, 16, 22, 0, -2, 0, "\
  529. + A relatively hefty hand weight.");
  530. +
  531. + // NAME RAR PRC SYM COLOR MAT1 MAT2
  532. + MELEE("drumsticks", 15, 5,'/', c_yellow, WOOD, MNULL,
  533. + // VOL WGT DAM CUT HIT FLAGS
  534. + 2, 1, 4, 2, -2, mfb(IF_SPEAR), "\
  535. + A pair of small wooden stick. These aren't really built to be weapons, but you could probably do\n\
  536. + some damage by whacking someone in the head or shoving it an eye, though.");
  537. +
  538. + MELEE("blackjack", 1, 35,',', c_blue, LEATHER, IRON,
  539. + 1, 2, 21, 0, -2, 0, "\
  540. + A lightweight bludgeon, made from a soft outer layer wrapped around a solid core.");
  541. +
  542. +
  543. // ARMOR
  544. #define ARMOR(name,rarity,price,color,mat1,mat2,volume,wgt,dam,to_hit,\
  545. ! encumber,dmg_resist,cut_resist,env,warmth,storage,covers,flags,des)\
  546. index++;itypes.push_back(new it_armor(index,rarity,price,name,des,'[',\
  547. ! color,mat1,mat2,volume,wgt,dam,0,to_hit,covers,encumber,dmg_resist,cut_resist,\
  548. ! env,warmth,storage,flags))
  549.  
  550. // NAME RAR PRC COLOR MAT1 MAT2
  551. ARMOR("sneakers", 80, 100,C_SHOES, LEATHER, MNULL,
  552. ! // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS FLAGS
  553. ! 5, 4, -2, 0, -1, 0, 2, 0, 2, 0, mfb(bp_feet), mfb(IF_BULKY), "\
  554. Guaranteed to make you run faster and jump higher!");
  555.  
  556. ARMOR("boots", 70, 120,C_SHOES, LEATHER, MNULL,
  557. ! 7, 6, 1, -1, 1, 1, 4, 2, 4, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  558. Tough leather boots, very durable.");
  559.  
  560. ARMOR("steeltoed boots",50, 135,C_SHOES, LEATHER, STEEL,
  561. ! 7, 9, 4, -1, 1, 4, 4, 3, 2, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  562. Leather boots with a steel toe. Extremely durable.");
  563.  
  564. ARMOR("winter boots", 60, 140,C_SHOES, PLASTIC, WOOL,
  565. ! 8, 7, 0, -1, 2, 0, 2, 1, 7, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  566. Cumbersome boots designed for warmth.");
  567.  
  568. ARMOR("mocassins", 5, 80,C_SHOES, LEATHER, WOOL,
  569. ! 2, 1, -3, 0, 0, 0, 1, 0, 3, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  570. Simple shoes made from animal pelts.");
  571.  
  572. // NAME RAR PRC COLOR MAT1 MAT2
  573. ARMOR("flip-flops", 35, 25,C_SHOES, PLASTIC, MNULL,
  574. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  575. ! 1, 1, -4, -2, 3, 0, 0, 0, 0, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  576. Simple sandals. Very difficult to run in.");
  577.  
  578. ARMOR("dress shoes", 50, 45,C_SHOES, LEATHER, MNULL,
  579. ! 5, 3, 1, 1, 1, 0, 3, 0, 1, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  580. Fancy patent leather shoes. Not designed for running in.");
  581.  
  582. ARMOR("heels", 50, 50,C_SHOES, LEATHER, MNULL,
  583. ! 4, 2, 6, -2, 4, 0, 0, 0, 0, 0, mfb(bp_feet), mfb(IF_BULKY),"\
  584. A pair of high heels. Difficult to even walk in.");
  585.  
  586. + //GlyphGryph's Addition
  587. + // NAME RAR PRC COLOR MAT1 MAT2
  588. + ARMOR("socks", 50, 10, C_SHOES, COTTON, MNULL,
  589. + // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  590. + 1, 1, -8, 0, 0, 0, 1, 0, 3, 0, mfb(bp_feet), 0,"\
  591. + A pair of mismatched socks.");
  592. + //End GlyphGryph's Addition
  593.  
  594. ARMOR("jeans", 90, 180,C_PANTS, COTTON, MNULL,
  595. ! 5, 4, -4, 1, 0, 0, 1, 0, 1, 4, mfb(bp_legs), 0,"\
  596. A pair of blue jeans with two deep pockets.");
  597.  
  598. // NAME RAR PRC COLOR MAT1 MAT2
  599. ARMOR("pants", 75, 185,C_PANTS, COTTON, MNULL,
  600. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  601. ! 5, 5, -4, 1, 0, 0, 1, 0, 2, 4, mfb(bp_legs), 0, "\
  602. A pair of khaki pants. Slightly warmer than jeans.");
  603.  
  604. ARMOR("leather pants", 60, 210,C_PANTS, LEATHER, MNULL,
  605. ! 6, 8, -2, 1, 1, 1, 7, 0, 5, 2, mfb(bp_legs), 0, "\
  606. A pair of black leather pants. Very tough, but encumbersome and without much\n\
  607. storage.");
  608.  
  609. ARMOR("cargo pants", 70, 280,C_PANTS, COTTON, MNULL,
  610. ! 6, 6, -3, 0, 1, 0, 2, 0, 3, 12, mfb(bp_legs), 0, "\
  611. A pair of pants lined with pockets, offering lots of storage.");
  612.  
  613. ARMOR("army pants", 30, 315,C_PANTS, COTTON, MNULL,
  614. ! 6, 7, -2, 0, 1, 0, 3, 0, 4, 14, mfb(bp_legs), 0, "\
  615. A tough pair of pants lined with pockets. Favored by the military.");
  616.  
  617. ARMOR("skirt", 75, 120,C_PANTS, COTTON, MNULL,
  618. ! 2, 2, -5, 0, -1, 0, 0, 0, 0, 1, mfb(bp_legs), 0, "\
  619. A short, breezy cotton skirt. Easy to move in, but only has a single small\n\
  620. pocket.");
  621.  
  622. // NAME RAR PRC COLOR MAT1 MAT2
  623. ARMOR("jumpsuit", 20, 200,C_BODY, COTTON, PLASTIC,
  624. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  625. ! 6, 6, -3, -3, 1, 0, 1, 0, 3, 16, mfb(bp_legs)|mfb(bp_torso), 0, "\
  626. A full-body jumpsuit with many pockets.");
  627.  
  628. ARMOR("dress", 70, 180,C_BODY, COTTON, MNULL,
  629. ! 8, 6, -5, -5, 3, 0, 1, 0, 2, 0, mfb(bp_legs)|mfb(bp_torso), 0, "\
  630. A long cotton dress. Difficult to move in and lacks any storage space.");
  631.  
  632. ARMOR("chitinous armor", 1,1200,C_BODY, FLESH, MNULL,
  633. ! 90, 10, 2, -5, 2, 8, 14, 0, 1, 0, mfb(bp_legs)|mfb(bp_torso), mfb(IF_BULKY), "\
  634. Leg and body armor made from the exoskeletons of insects. Light and durable.");
  635.  
  636. // NAME RAR PRC COLOR MAT1 MAT2
  637. ARMOR("t shirt", 80, 80,C_TORSO, COTTON, MNULL,
  638. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  639. ! 3, 2, -5, 0, 0, 0, 0, 0, 1, 0, mfb(bp_torso), 0, "\
  640. A short-sleeved cotton shirt.");
  641.  
  642. ARMOR("polo shirt", 65, 95,C_TORSO, COTTON, MNULL,
  643. ! 3, 2, -5, 0, 0, 0, 1, 0, 1, 0, mfb(bp_torso), 0, "\
  644. A short-sleeved cotton shirt, slightly thicker than a t-shirt.");
  645.  
  646. ARMOR("dress shirt", 60, 115,C_TORSO, COTTON, MNULL,
  647. ! 3, 3, -5, 0, 1, 0, 1, 0, 1, 1, mfb(bp_torso), 0, "\
  648. A white button-down shirt with long sleeves. Looks professional!");
  649.  
  650. ARMOR("tank top", 50, 75,C_TORSO, COTTON, MNULL,
  651. ! 1, 1, -5, 0, 0, 0, 0, 0, 0, 0, mfb(bp_torso), 0, "\
  652. A sleeveless cotton shirt. Very easy to move in.");
  653.  
  654. ARMOR("sweatshirt", 75, 110,C_TORSO, COTTON, MNULL,
  655. ! 9, 5, -5, 0, 1, 1, 1, 0, 3, 0, mfb(bp_torso), 0, "\
  656. A thick cotton shirt. Provides warmth and a bit of padding.");
  657.  
  658. // NAME RAR PRC COLOR MAT1 MAT2
  659. ARMOR("sweater", 75, 105,C_TORSO, WOOL, MNULL,
  660. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  661. ! 8, 5, -5, 0, 0, 1, 0, 0, 3, 0, mfb(bp_torso), 0, "\
  662. A wool shirt. Provides warmth.");
  663.  
  664. ARMOR("hoodie", 65, 130,C_TORSO, COTTON, MNULL,
  665. ! 10, 5, -5, 0, 1, 1, 2, 0, 3, 9, mfb(bp_torso), 0, "\
  666. A sweatshirt with a hood and a \"kangaroo pocket\" in front for storage.");
  667.  
  668. ARMOR("light jacket", 50, 105,C_TORSO, COTTON, MNULL,
  669. ! 6, 4, -5, 0, 0, 0, 2, 0, 2, 4, mfb(bp_torso), 0, "\
  670. A thin cotton jacket. Good for brisk weather.");
  671.  
  672. ARMOR("jean jacket", 35, 120,C_TORSO, COTTON, MNULL,
  673. ! 7, 5, -3, 0, 1, 0, 4, 0, 2, 3, mfb(bp_torso), 0, "\
  674. A jacket made from denim. Provides decent protection from cuts.");
  675.  
  676. // NAME RAR PRC COLOR MAT1 MAT2
  677. ARMOR("blazer", 35, 120,C_TORSO, WOOL, MNULL,
  678. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  679. ! 10, 6, -4, 0, 2, 0, 3, 0, 3, 2, mfb(bp_torso), 0, "\
  680. A professional-looking wool blazer. Quite encumbersome.");
  681.  
  682. ARMOR("leather jacket", 30, 150,C_TORSO, LEATHER, MNULL,
  683. ! 14, 14, -2, 1, 2, 1, 9, 1, 4, 4, mfb(bp_torso), 0, "\
  684. A jacket made from thick leather. Encumbersome, but offers excellent\n\
  685. protection from cuts.");
  686.  
  687. ARMOR("kevlar vest", 30, 800,C_TORSO, KEVLAR, COTTON,
  688. ! 24, 24, 6, -3, 2, 4, 22, 0, 4, 4, mfb(bp_torso), 0, "\
  689. A heavy bulletproof vest. The best protection from cuts and bullets.");
  690.  
  691. ARMOR("rain coat", 50, 100,C_TORSO, PLASTIC, COTTON,
  692. ! 9, 8, -4, 0, 2, 0, 3, 1, 2, 7, mfb(bp_torso), 0, "\
  693. A plastic coat with two very large pockets. Provides protection from rain.");
  694.  
  695. ARMOR("wool poncho", 15, 120,C_TORSO, WOOL, MNULL,
  696. ! 7, 3, -5, -1, 0, 1, 2, 1, 2, 0, mfb(bp_torso), 0, "\
  697. A simple wool garment worn over the torso. Provides a bit of protection.");
  698.  
  699. // NAME RARE COLOR MAT1 MAT2
  700. ARMOR("trenchcoat", 25, 225,C_TORSO, COTTON, MNULL,
  701. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  702. ! 10, 6, -5, -1, 1, 0, 1, 1, 3, 24, mfb(bp_torso), 0, "\
  703. A long coat lines with pockets. Great for storage.");
  704.  
  705. ARMOR("winter coat", 50, 160,C_TORSO, COTTON, MNULL,
  706. ! 12, 6, -5, -2, 3, 3, 1, 1, 8, 12, mfb(bp_torso), 0, "\
  707. A padded coat with deep pockets. Very warm.");
  708.  
  709. ARMOR("fur coat", 5, 550,C_TORSO, WOOL, FLESH,
  710. ! 18, 12, -5, -5, 2, 4, 2, 2, 10, 4, mfb(bp_torso), 0, "\
  711. A fur coat with a couple small pockets. Extremely warm.");
  712.  
  713. ARMOR("peacoat", 30, 180,C_TORSO, COTTON, MNULL,
  714. ! 16, 10, -4, -3, 2, 1, 2, 0, 7, 10, mfb(bp_torso), 0, "\
  715. A heavy cotton coat. Encumbersome, but warm and with deep pockets.");
  716.  
  717. ARMOR("utility vest", 15, 200,C_TORSO, COTTON, MNULL,
  718. ! 4, 3, -3, 0, 0, 0, 1, 0, 1, 14, mfb(bp_torso), 0, "\
  719. A light vest covered in pockets and straps for storage.");
  720.  
  721. ARMOR("lab coat", 20, 155,C_TORSO, COTTON, MNULL,
  722. ! 11, 7, -3, -2, 1, 1, 2, 0, 1, 14, mfb(bp_torso), 0, "\
  723. A long white coat with several large pockets.");
  724.  
  725. // NAME RAR PRC COLOR MAT1 MAT2
  726. ARMOR("light gloves", 35, 65,C_GLOVES, COTTON, MNULL,
  727. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  728. ! 0, 0, -5, 1, 1, 0, 0, 0, 1, 0, mfb(bp_hands), 0, "\
  729. A pair of thin cotton gloves. Often used as a liner beneath other gloves.");
  730.  
  731. ARMOR("mittens", 30, 40,C_GLOVES, WOOL, MNULL,
  732. ! 0, 0, -5, 1, 8, 0, 1, 0, 5, 0, mfb(bp_hands), 0, "\
  733. A pair of warm mittens. They are extremely encumbersome.");
  734.  
  735. ARMOR("wool gloves", 33, 50,C_GLOVES, WOOL, MNULL,
  736. ! 1, 0, -5, 1, 3, 0, 1, 0, 3, 0, mfb(bp_hands), 0, "\
  737. A thick pair of wool gloves. Encumbersome but warm.");
  738.  
  739. ARMOR("winter gloves", 40, 65,C_GLOVES, COTTON, MNULL,
  740. ! 1, 0, -5, 1, 5, 1, 1, 0, 4, 0, mfb(bp_hands), 0, "\
  741. A pair of padded gloves. Encumbersome but warm.");
  742.  
  743. ARMOR("leather gloves", 45, 85,C_GLOVES, LEATHER, MNULL,
  744. ! 1, 1, -3, 2, 1, 0, 3, 0, 3, 0, mfb(bp_hands), 0, "\
  745. A thin pair of leather gloves. Good for doing manual labor.");
  746.  
  747. // NAME RAR PRC COLOR MAT1 MAT2
  748. ARMOR("fingerless gloves",20,90,C_GLOVES, LEATHER, MNULL,
  749. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  750. ! 1, 1, -3, 2, 0, 0, 2, 0, 2, 0, mfb(bp_hands), 0, "\
  751. A pair of leather gloves with no fingers, allowing greater manual dexterity.");
  752.  
  753. ARMOR("rubber gloves", 20, 30,C_GLOVES, PLASTIC, MNULL,
  754. ! 1, 1, -3, 2, 3, 0, 1, 2, 1, 0, mfb(bp_hands), 0, "\
  755. A pair of rubber gloves, often used while cleaning with caustic materials.");
  756.  
  757. ARMOR("medical gloves", 70, 10,C_GLOVES, PLASTIC, MNULL,
  758. ! 0, 0, -5, 1, 0, 0, 0, 1, 0, 0, mfb(bp_hands), 0, "\
  759. A pair of thin latex gloves, designed to limit the spread of disease.");
  760.  
  761. ARMOR("fire gauntlets", 5, 95,C_GLOVES, LEATHER, MNULL,
  762. ! 3, 5, -2, 2, 6, 1, 2, 5, 4, 0, mfb(bp_hands), 0, "\
  763. A heavy pair of leather gloves, used by firefighters for heat protection.");
  764.  
  765. // NAME RAR PRC COLOR MAT1 MAT2
  766. ARMOR("dust mask", 65, 20,C_MOUTH, COTTON, IRON,
  767. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  768. ! 0, 0, -5, -3, 1, 0, 0, 2, 1, 0, mfb(bp_mouth), 0, "\
  769. A simple piece of cotton that straps over the mouth. Provides a small amount\n\
  770. of protection from air-borne illness and dust.");
  771.  
  772. ARMOR("bandana", 35, 28,C_MOUTH, COTTON, MNULL,
  773. ! 1, 0, -4, -1, 0, 0, 0, 1, 2, 0, mfb(bp_mouth), 0, "\
  774. A cotton bandana, worn over the mouth for warmth and minor protection from\n\
  775. dust and other contaminents.");
  776.  
  777. ARMOR("scarf", 45, 40,C_MOUTH, WOOL, MNULL,
  778. ! 2, 3, -5, -3, 1, 1, 0, 2, 3, 0, mfb(bp_mouth), 0, "\
  779. A long wool scarf, worn over the mouth for warmth.");
  780.  
  781. ARMOR("filter mask", 30, 80,C_MOUTH, PLASTIC, MNULL,
  782. ! 3, 6, 1, 1, 2, 1, 1, 7, 2, 0, mfb(bp_mouth), 0, "\
  783. A mask that straps over your mouth and nose and filters air. Protects from\n\
  784. smoke, dust, and other contaminents quite well.");
  785.  
  786. ARMOR("gas mask", 10, 240,C_MOUTH, PLASTIC, MNULL,
  787. ! 6, 8, 0, -3, 4, 1, 2, 16, 4, 0, mfb(bp_mouth)|mfb(bp_eyes), 0, "\
  788. A full gas mask that covers the face and eyes. Provides excellent protection\n\
  789. from smoke, teargas, and other contaminents.");
  790.  
  791. ***************
  792. *** 1053,1089 ****
  793. // NAME RAR PRC COLOR MAT1 MAT2
  794. ARMOR("eyeglasses", 90, 150,C_EYES, GLASS, PLASTIC,
  795. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  796. ! 1, 0, -3, -2, 0, 0, 1, 1, 0, 0, mfb(bp_eyes), "\
  797. A pair of glasses for the near-sighted. Useless for anyone else.");
  798.  
  799. ARMOR("reading glasses",90, 80,C_EYES, GLASS, PLASTIC,
  800. ! 1, 0, -3, -2, 0, 0, 1, 1, 0, 0, mfb(bp_eyes), "\
  801. A pair of glasses for the far-sighted. Useless for anyone else.");
  802.  
  803. ARMOR("safety glasses", 40, 100,C_EYES, PLASTIC, MNULL,
  804. ! 1, 0, -5, -2, 0, 2, 4, 1, 0, 0, mfb(bp_eyes), "\
  805. A pair of plastic glasses, used in workshops, sports, chemistry labs, and\n\
  806. many other places. Provides great protection from damage.");
  807.  
  808. ARMOR("swim goggles", 50, 110,C_EYES, PLASTIC, MNULL,
  809. ! 1, 0, -5, -2, 2, 1, 2, 4, 1, 0, mfb(bp_eyes), "\
  810. A small pair of goggles. Distorts vision above water, but allows you to see\n\
  811. much further under water.");
  812.  
  813. ARMOR("ski goggles", 30, 175,C_EYES, PLASTIC, MNULL,
  814. ! 2, 1, -4, -2, 1, 1, 2, 6, 2, 0, mfb(bp_eyes), "\
  815. A large pair of goggles that completely seal off your eyes. Excellent\n\
  816. protection from environmental dangers.");
  817.  
  818. // NAME RAR PRC COLOR MAT1 MAT2
  819. ARMOR("welding goggles", 8, 240,C_EYES, GLASS, STEEL,
  820. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  821. ! 2, 4, -1, -3, 6, 2, 5, 6, 1, 0, mfb(bp_eyes), "\
  822. A dark pair of goggles. They make seeing very difficult, but protects you\n\
  823. from bright flashes.");
  824.  
  825. ARMOR("light amp goggles",1,920,C_EYES, STEEL, GLASS,
  826. ! 3, 6, 1, -2, 2, 2, 3, 6, 2, 0, mfb(bp_eyes), "\
  827. A pair of goggles that amplify ambient light, allowing you to see in the\n\
  828. dark. You must be carrying a powered-on unified power supply, or UPS, to use\n\
  829. them."
  830. --- 1096,1132 ----
  831. // NAME RAR PRC COLOR MAT1 MAT2
  832. ARMOR("eyeglasses", 90, 150,C_EYES, GLASS, PLASTIC,
  833. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  834. ! 1, 0, -3, -2, 0, 0, 1, 1, 0, 0, mfb(bp_eyes), 0, "\
  835. A pair of glasses for the near-sighted. Useless for anyone else.");
  836.  
  837. ARMOR("reading glasses",90, 80,C_EYES, GLASS, PLASTIC,
  838. ! 1, 0, -3, -2, 0, 0, 1, 1, 0, 0, mfb(bp_eyes), 0, "\
  839. A pair of glasses for the far-sighted. Useless for anyone else.");
  840.  
  841. ARMOR("safety glasses", 40, 100,C_EYES, PLASTIC, MNULL,
  842. ! 1, 0, -5, -2, 0, 2, 4, 1, 0, 0, mfb(bp_eyes), 0, "\
  843. A pair of plastic glasses, used in workshops, sports, chemistry labs, and\n\
  844. many other places. Provides great protection from damage.");
  845.  
  846. ARMOR("swim goggles", 50, 110,C_EYES, PLASTIC, MNULL,
  847. ! 1, 0, -5, -2, 2, 1, 2, 4, 1, 0, mfb(bp_eyes), 0, "\
  848. A small pair of goggles. Distorts vision above water, but allows you to see\n\
  849. much further under water.");
  850.  
  851. ARMOR("ski goggles", 30, 175,C_EYES, PLASTIC, MNULL,
  852. ! 2, 1, -4, -2, 1, 1, 2, 6, 2, 0, mfb(bp_eyes), mfb(IF_BULKY), "\
  853. A large pair of goggles that completely seal off your eyes. Excellent\n\
  854. protection from environmental dangers.");
  855.  
  856. // NAME RAR PRC COLOR MAT1 MAT2
  857. ARMOR("welding goggles", 8, 240,C_EYES, GLASS, STEEL,
  858. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  859. ! 2, 4, -1, -3, 6, 2, 5, 6, 1, 0, mfb(bp_eyes), mfb(IF_BULKY), "\
  860. A dark pair of goggles. They make seeing very difficult, but protects you\n\
  861. from bright flashes.");
  862.  
  863. ARMOR("light amp goggles",1,920,C_EYES, STEEL, GLASS,
  864. ! 3, 6, 1, -2, 2, 2, 3, 6, 2, 0, mfb(bp_eyes), mfb(IF_BULKY), "\
  865. A pair of goggles that amplify ambient light, allowing you to see in the\n\
  866. dark. You must be carrying a powered-on unified power supply, or UPS, to use\n\
  867. them."
  868. ***************
  869. *** 1095,1190 ****
  870. // NAME RAR PRC COLOR MAT1 MAT2
  871. ARMOR("baseball cap", 30, 35,C_HAT, COTTON, MNULL,
  872. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  873. ! 2, 1, -5, 0, 0, 0, 0, 2, 1, 0, mfb(bp_head), "\
  874. A Red Sox cap. It provides a little bit of warmth.");
  875.  
  876. ARMOR("boonie hat", 10, 55,C_HAT, PLASTIC, MNULL,
  877. ! 2, 1, -5, 0, 0, 0, 1, 2, 2, 0, mfb(bp_head), "\
  878. Also called a \"bucket hat.\" Often used in the military.");
  879.  
  880. ARMOR("cotton hat", 45, 40,C_HAT, COTTON, MNULL,
  881. ! 2, 1, -5, 0, 0, 0, 0, 0, 3, 0, mfb(bp_head), "\
  882. A snug-fitting cotton hat. Quite warm.");
  883.  
  884. ARMOR("knit hat", 25, 50,C_HAT, WOOL, MNULL,
  885. ! 2, 1, -5, 0, 0, 1, 0, 0, 4, 0, mfb(bp_head), "\
  886. A snug-fitting wool hat. Very warm.");
  887.  
  888. ARMOR("hunting cap", 20, 80,C_HAT, WOOL, MNULL,
  889. ! 3, 2, -5, 0, 0, 0, 1, 2, 6, 0, mfb(bp_head), "\
  890. A red plaid hunting cap with ear flaps. Notably warm.");
  891.  
  892. ARMOR("fur hat", 15, 120,C_HAT, WOOL, MNULL,
  893. ! 4, 2, -5, 0, 1, 2, 2, 0, 8, 0, mfb(bp_head), "\
  894. A hat made from the pelts of animals. Extremely warm.");
  895.  
  896. // NAME RAR PRC COLOR MAT1 MAT2
  897. ARMOR("hard hat", 50, 125,C_HAT, PLASTIC, MNULL,
  898. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  899. ! 8, 4, 6, 0, 1, 4, 5, 0, 1, 0, mfb(bp_head), "\
  900. A hard plastic hat worn in constructions sites. Excellent protection from\n\
  901. cuts and percussion.");
  902.  
  903. ARMOR("bike helmet", 35, 140,C_HAT, PLASTIC, MNULL,
  904. ! 12, 2, 4, 0, 1, 8, 2, 0, 2, 0, mfb(bp_head), "\
  905. A thick foam helmet. Designed to protect against percussion.");
  906.  
  907. ARMOR("skid lid", 30, 190,C_HAT, PLASTIC, IRON,
  908. ! 10, 5, 8, 0, 2, 6, 16, 0, 1, 0, mfb(bp_head), "\
  909. A small metal helmet that covers the head and protects against cuts and\n\
  910. percussion.");
  911.  
  912. ARMOR("baseball helmet",45, 195,C_HAT, PLASTIC, IRON,
  913. ! 14, 6, 7, -1, 2, 10, 10, 1, 1, 0, mfb(bp_head), "\
  914. A hard plastic helmet which covers the head and ears. Designed to protect\n\
  915. against a baseball to the head.");
  916.  
  917. ARMOR("army helmet", 40, 480,C_HAT, PLASTIC, IRON,
  918. ! 16, 8, 10, -1, 2, 12, 28, 0, 2, 0, mfb(bp_head), "\
  919. A heavy helmet whic provides excellent protection from all sorts of damage.");
  920.  
  921. // NAME RAR PRC COLOR MAT1 MAT2
  922. ARMOR("riot helmet", 25, 420,C_HAT, PLASTIC, IRON,
  923. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  924. 20, 7, 8, -1, 2, 6, 28, 2, 2, 0, mfb(bp_head)|mfb(bp_eyes)|
  925. ! mfb(bp_mouth), "\
  926. A helmet with a plastic shield that covers your entire face.");
  927.  
  928. ARMOR("motorcycle helmet",40,325,C_HAT, PLASTIC, IRON,
  929. ! 24, 8, 7, -1, 3, 8, 20, 1, 3, 0, mfb(bp_head)|mfb(bp_mouth), "\
  930. A helmet with covers your head and chin, leaving space in between for you to\n\
  931. wear goggles.");
  932.  
  933. ARMOR("chitinous helmet", 1, 380,C_HAT, FLESH, MNULL,
  934. 22, 1, 2, -2, 4, 10, 14, 4, 3, 0, mfb(bp_head)|mfb(bp_eyes)|
  935. ! mfb(bp_mouth), "\
  936. A helmet made from the exoskeletons of insects. Covers the entire head; very\n\
  937. light and durable.");
  938.  
  939. ! ARMOR("backpack", 38, 210,C_STORE, PLASTIC, MNULL,
  940. ! 14, 2, -4, 0, 2, 0, 0, 0, 0, 80, mfb(bp_torso), "\
  941. ! Provides more storage than any other piece of clothing.");
  942.  
  943. // NAME RAR PRC COLOR MAT1 MAT2
  944. ARMOR("purse", 40, 75,C_STORE, LEATHER, MNULL,
  945. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  946. ! 10, 3, 2, 2, 3, 0, 0, 0, 0, 20, mfb(bp_torso), "\
  947. A bit encumbersome to wear, but provides lots of storage.");
  948.  
  949. ARMOR("messenger bag", 20, 110,C_STORE, PLASTIC, MNULL,
  950. ! 8, 2, 1, 1, 3, 0, 0, 0, 0, 30, mfb(bp_torso), "\
  951. A bit encumbersome to wear, but provides lots of storage.");
  952.  
  953. ARMOR("fanny pack", 10, 100,C_STORE, PLASTIC, MNULL,
  954. ! 3, 1, 1, 2, 0, 0, 0, 0, 0, 6, 0, "\
  955. Provides a bit of extra storage without encumbering you at all.");
  956.  
  957. ARMOR("holster", 8, 90,C_STORE, LEATHER, MNULL,
  958. ! 2, 2, 2, -1, 0, 0, 0, 0, 0, 3, 0, "\
  959. Provides a bit of extra storage without encumbering you at all.");
  960.  
  961. ARMOR("bootstrap", 3, 80,C_STORE, LEATHER, MNULL,
  962. ! 1, 1, -1, -1, 0, 0, 0, 0, 1, 2, mfb(bp_legs), "\
  963. A small holster worn on the ankle.");
  964.  
  965. // AMMUNITION
  966. --- 1138,1248 ----
  967. // NAME RAR PRC COLOR MAT1 MAT2
  968. ARMOR("baseball cap", 30, 35,C_HAT, COTTON, MNULL,
  969. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  970. ! 2, 1, -5, 0, 0, 0, 0, 2, 1, 0, mfb(bp_head), 0, "\
  971. A Red Sox cap. It provides a little bit of warmth.");
  972.  
  973. ARMOR("boonie hat", 10, 55,C_HAT, PLASTIC, MNULL,
  974. ! 2, 1, -5, 0, 0, 0, 1, 2, 2, 0, mfb(bp_head), 0, "\
  975. Also called a \"bucket hat.\" Often used in the military.");
  976.  
  977. ARMOR("cotton hat", 45, 40,C_HAT, COTTON, MNULL,
  978. ! 2, 1, -5, 0, 0, 0, 0, 0, 3, 0, mfb(bp_head), 0, "\
  979. A snug-fitting cotton hat. Quite warm.");
  980.  
  981. ARMOR("knit hat", 25, 50,C_HAT, WOOL, MNULL,
  982. ! 2, 1, -5, 0, 0, 1, 0, 0, 4, 0, mfb(bp_head), 0, "\
  983. A snug-fitting wool hat. Very warm.");
  984.  
  985. ARMOR("hunting cap", 20, 80,C_HAT, WOOL, MNULL,
  986. ! 3, 2, -5, 0, 0, 0, 1, 2, 6, 0, mfb(bp_head), 0, "\
  987. A red plaid hunting cap with ear flaps. Notably warm.");
  988.  
  989. ARMOR("fur hat", 15, 120,C_HAT, WOOL, MNULL,
  990. ! 4, 2, -5, 0, 1, 2, 2, 0, 8, 0, mfb(bp_head), mfb(IF_BULKY), "\
  991. A hat made from the pelts of animals. Extremely warm.");
  992.  
  993. // NAME RAR PRC COLOR MAT1 MAT2
  994. ARMOR("hard hat", 50, 125,C_HAT, PLASTIC, MNULL,
  995. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  996. ! 8, 4, 6, 0, 1, 4, 5, 0, 1, 0, mfb(bp_head), mfb(IF_BULKY), "\
  997. A hard plastic hat worn in constructions sites. Excellent protection from\n\
  998. cuts and percussion.");
  999.  
  1000. ARMOR("bike helmet", 35, 140,C_HAT, PLASTIC, MNULL,
  1001. ! 12, 2, 4, 0, 1, 8, 2, 0, 2, 0, mfb(bp_head), mfb(IF_BULKY), "\
  1002. A thick foam helmet. Designed to protect against percussion.");
  1003.  
  1004. ARMOR("skid lid", 30, 190,C_HAT, PLASTIC, IRON,
  1005. ! 10, 5, 8, 0, 2, 6, 16, 0, 1, 0, mfb(bp_head), mfb(IF_BULKY), "\
  1006. A small metal helmet that covers the head and protects against cuts and\n\
  1007. percussion.");
  1008.  
  1009. ARMOR("baseball helmet",45, 195,C_HAT, PLASTIC, IRON,
  1010. ! 14, 6, 7, -1, 2, 10, 10, 1, 1, 0, mfb(bp_head), mfb(IF_BULKY), "\
  1011. A hard plastic helmet which covers the head and ears. Designed to protect\n\
  1012. against a baseball to the head.");
  1013.  
  1014. ARMOR("army helmet", 40, 480,C_HAT, PLASTIC, IRON,
  1015. ! 16, 8, 10, -1, 2, 12, 28, 0, 2, 0, mfb(bp_head), mfb(IF_BULKY), "\
  1016. A heavy helmet whic provides excellent protection from all sorts of damage.");
  1017.  
  1018. // NAME RAR PRC COLOR MAT1 MAT2
  1019. ARMOR("riot helmet", 25, 420,C_HAT, PLASTIC, IRON,
  1020. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  1021. 20, 7, 8, -1, 2, 6, 28, 2, 2, 0, mfb(bp_head)|mfb(bp_eyes)|
  1022. ! mfb(bp_mouth), mfb(IF_BULKY), "\
  1023. A helmet with a plastic shield that covers your entire face.");
  1024.  
  1025. ARMOR("motorcycle helmet",40,325,C_HAT, PLASTIC, IRON,
  1026. ! 24, 8, 7, -1, 3, 8, 20, 1, 3, 0, mfb(bp_head)|mfb(bp_mouth), mfb(IF_BULKY), "\
  1027. A helmet with covers your head and chin, leaving space in between for you to\n\
  1028. wear goggles.");
  1029.  
  1030. ARMOR("chitinous helmet", 1, 380,C_HAT, FLESH, MNULL,
  1031. 22, 1, 2, -2, 4, 10, 14, 4, 3, 0, mfb(bp_head)|mfb(bp_eyes)|
  1032. ! mfb(bp_mouth), mfb(IF_BULKY), "\
  1033. A helmet made from the exoskeletons of insects. Covers the entire head; very\n\
  1034. light and durable.");
  1035.  
  1036. ! //GlyphGryph's Additions - Note, removed normal backpack
  1037. ! ARMOR("backpack", 32, 210,C_STORE, PLASTIC, MNULL,
  1038. ! 14, 2, -4, 0, 1, 0, 0, 0, 0, 30, mfb(bp_torso), 0, "\
  1039. ! The sort of backpack commonly used by students. Has a good storage capacity, and is pretty lightweight.");
  1040. !
  1041. ! ARMOR("knapsack", 6, 210,C_STORE, COTTON, MNULL,
  1042. ! 10, 4, -4, 0, 1, 0, 0, 0, 0, 30, mfb(bp_torso), 0, "\
  1043. ! An all-cloth version of the standard backpack. Has a good storage capacity, and is pretty lightweight.");
  1044. !
  1045. ! ARMOR("rucksack", 12, 210,C_STORE, COTTON, MNULL,
  1046. ! 22, 5, -4, 0, 3, 0, 0, 0, 0, 70, mfb(bp_torso), 0, "\
  1047. ! A large, lightweight cloth backpack. It's size can make it a bit of a liability in combat.");
  1048. !
  1049. ! ARMOR("rigid backpack", 5, 210,C_STORE, COTTON, STEEL,
  1050. ! 75, 30, 12, 0, 2, 0, 0, 0, 0, 120, mfb(bp_torso), mfb(IF_BULKY), "\
  1051. ! A large backpack with a rigid frame, favored both by the military and outdoors enthusiasts. Enormous storage capacity, especially since it allows stuff to be strapped to the frame, but fairly heavy.");
  1052. !
  1053. ! //End GlyphGryph's Additions
  1054.  
  1055. // NAME RAR PRC COLOR MAT1 MAT2
  1056. ARMOR("purse", 40, 75,C_STORE, LEATHER, MNULL,
  1057. // VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
  1058. ! 10, 3, 2, 2, 3, 0, 0, 0, 0, 20, mfb(bp_torso), 0, "\
  1059. A bit encumbersome to wear, but provides lots of storage.");
  1060.  
  1061. ARMOR("messenger bag", 20, 110,C_STORE, PLASTIC, MNULL,
  1062. ! 8, 2, 1, 1, 3, 0, 0, 0, 0, 30, mfb(bp_torso), 0, "\
  1063. A bit encumbersome to wear, but provides lots of storage.");
  1064.  
  1065. ARMOR("fanny pack", 10, 100,C_STORE, PLASTIC, MNULL,
  1066. ! 3, 1, 1, 2, 0, 0, 0, 0, 0, 6, 0, 0, "\
  1067. Provides a bit of extra storage without encumbering you at all.");
  1068.  
  1069. ARMOR("holster", 8, 90,C_STORE, LEATHER, MNULL,
  1070. ! 2, 2, 2, -1, 0, 0, 0, 0, 0, 3, 0, 0, "\
  1071. Provides a bit of extra storage without encumbering you at all.");
  1072.  
  1073. ARMOR("bootstrap", 3, 80,C_STORE, LEATHER, MNULL,
  1074. ! 1, 1, -1, -1, 0, 0, 0, 0, 1, 2, mfb(bp_legs), 0, "\
  1075. A small holster worn on the ankle.");
  1076.  
  1077. // AMMUNITION
  1078. ***************
  1079. *** 2302,2307 ****
  1080. --- 2360,2407 ----
  1081. color,mat1,mat2,volume,wgt,melee_dam,melee_cut,to_hit,flags,max_charge,\
  1082. def_charge,charge_per_use,charge_per_sec,fuel,revert,func))
  1083.  
  1084. + //GlyphGryphs Additions
  1085. + // NAME RAR PRC SYM COLOR MAT1 MAT
  1086. + TOOL("sewing machine", 5,300, 'm', c_red, PLASTIC,IRON,
  1087. + // VOL WGT DAM CUT HIT MAX DEF USE SEC FUEL REVERT FUNCTION
  1088. + 36, 60, 14, 0, -4, 500,200, 5, 0, AT_BATT, itm_null, &iuse::sew, 0, "\
  1089. + This sewing machine is large, heavy, and battery powered. It comes with all the trimmings, and has enough extra thread and needles to last as long as you can keep it powered.");
  1090. +
  1091. + TOOL("torch", 0, 30,';', c_blue, WOOD, COTTON,
  1092. + 5, 5, 9, 0, 2, 100,100, 0, 0, AT_NULL, itm_null, &iuse::light_torch,0,"\
  1093. + This is an unlit torch.");
  1094. +
  1095. + TOOL("lit torch", 0, 30,';', c_blue, WOOD, COTTON,
  1096. + 5, 5, 9, 0, 2, 100,100, 0, 12, AT_NULL, itm_torch, &iuse::douse_torch,mfb(IF_FLAMING),
  1097. + "This torch burns steadily, giving off a good amount of light.");
  1098. +
  1099. + TOOL("cymbal", 10, 9,'o', c_yellow, STEEL, MNULL,
  1100. + 10, 6, 6, 2, -2, 0, 0, 0, 0, AT_NULL, itm_null, &iuse::bang, mfb(IF_LOUD), "\
  1101. + A thin plate of metal intended for use with a drumset. Makes a pleasant sound when rung over a\n\
  1102. + zombies head. Hard to keep a good grip on it, though.\n\
  1103. + You can use it to make some noise.");
  1104. +
  1105. + TOOL("guitar", 18, 10,'@', c_green, WOOD, MNULL,
  1106. + 18, 8, 26, 0, 1, 0, 0, 0, 0, AT_NULL, itm_null, &iuse::strum, mfb(IF_LOUD),"\
  1107. + A six-stringed musical instrument. You can use it to make some noise.");
  1108. +
  1109. + TOOL("drum", 10, 10,'o', c_brown, STEEL, LEATHER,
  1110. + 14, 10, 13, 0, -1, 0, 0, 0, 0, AT_NULL, itm_null, &iuse::bang, mfb(IF_LOUD),"\
  1111. + This drum was part of a drum kit. You wouldn't think so, but the steel frame makes it\n\
  1112. + a halfway decent weapon. You can use it to make some noise.");
  1113. +
  1114. + // NAME RAR PRC SYM COLOR MAT1 MAT
  1115. + TOOL("wad of cash", 7, 2,'$', c_green, PAPER, MNULL,
  1116. + // VOL WGT DAM CUT HIT MAX DEF USE SEC FUEL REVERT FUNCTION
  1117. + 1, 1, -5, 0, -4, 50, 50, 1, 0, AT_NULL, itm_null, &iuse::burn_cash, 0,"\
  1118. + A big fat wad of cash. It's a shame it's not actually worth anything any more. You suppose you might enjoy watching it burn.");
  1119. +
  1120. + TOOL("handful of coins", 10, 1,'o', c_ltgray, IRON, MNULL,
  1121. + 1, 2, 0, 0, -4, 0, 0, 0, 0, AT_NULL, itm_null, &iuse::flip_coin, 0, "\
  1122. + A handful of change. It was never worth very much, and it's probably worth less now.");
  1123. + //End GlyphGryph's Additions
  1124. +
  1125. +
  1126. // NAME RAR PRC SYM COLOR MAT1 MAT
  1127. TOOL("lighter", 60, 35,',', c_blue, PLASTIC,IRON,
  1128. // VOL WGT DAM CUT HIT MAX DEF USE SEC FUEL REVERT FUNCTION
  1129. diff -crB Catacompare/itype.h BetterHomesAndGardens/itype.h
  1130. *** Catacompare/itype.h 2011-08-21 15:34:02.000000000 -0400
  1131. --- BetterHomesAndGardens/itype.h 2011-09-01 01:37:10.000000000 -0400
  1132. ***************
  1133. *** 55,63 ****
  1134. --- 55,68 ----
  1135. itm_knife_combat, itm_2x4, itm_muffler, itm_pipe, itm_bat, itm_machete,
  1136. itm_katana, itm_spear_wood, itm_spear_knife, itm_baton, itm_bee_sting,
  1137. itm_wasp_sting, itm_chitin_piece, itm_canister_empty, itm_gold,
  1138. + //GlyphGryph's added stuff
  1139. + itm_chair, itm_burnt_torch, itm_weight_plate, itm_barbell, itm_dumbell,
  1140. + itm_drumsticks, itm_blackjack,
  1141. // Footwear
  1142. itm_sneakers, itm_boots, itm_boots_steel, itm_boots_winter, itm_mocassins,
  1143. itm_flip_flops, itm_dress_shoes, itm_heels,
  1144. + //GlyphGryph's Additions
  1145. + itm_socks,
  1146. // Legwear
  1147. itm_jeans, itm_pants, itm_pants_leather, itm_pants_cargo, itm_pants_army,
  1148. itm_skirt,
  1149. ***************
  1150. *** 81,88 ****
  1151. itm_hat_ball, itm_hat_boonie, itm_hat_cotton, itm_hat_knit, itm_hat_hunting,
  1152. itm_hat_fur, itm_hat_hard, itm_helmet_bike, itm_helmet_skid, itm_helmet_ball,
  1153. itm_helmet_army, itm_helmet_riot, itm_helmet_motor, itm_helmet_chitin,
  1154. // High-storage
  1155. ! itm_backpack, itm_purse, itm_mbag, itm_fanny, itm_holster, itm_bootstrap,
  1156. // Ammunition
  1157. itm_battery, itm_plut_cell, itm_nail, itm_bb, itm_bolt_wood, itm_bolt_steel,
  1158. itm_shot_bird, itm_shot_00, itm_shot_slug, itm_22_lr, itm_22_cb,
  1159. --- 86,95 ----
  1160. itm_hat_ball, itm_hat_boonie, itm_hat_cotton, itm_hat_knit, itm_hat_hunting,
  1161. itm_hat_fur, itm_hat_hard, itm_helmet_bike, itm_helmet_skid, itm_helmet_ball,
  1162. itm_helmet_army, itm_helmet_riot, itm_helmet_motor, itm_helmet_chitin,
  1163. + //GlyphGryph's Addition
  1164. + itm_backpack, itm_knapsack, itm_rucksack, itm_rigid_backpack,
  1165. // High-storage
  1166. ! itm_purse, itm_mbag, itm_fanny, itm_holster, itm_bootstrap,
  1167. // Ammunition
  1168. itm_battery, itm_plut_cell, itm_nail, itm_bb, itm_bolt_wood, itm_bolt_steel,
  1169. itm_shot_bird, itm_shot_00, itm_shot_slug, itm_22_lr, itm_22_cb,
  1170. ***************
  1171. *** 121,127 ****
  1172. itm_bag_plastic, itm_bottle_plastic, itm_bottle_glass,
  1173. itm_can_drink, itm_can_food, itm_box_small,
  1174. // Tools
  1175. ! itm_lighter, itm_sewing_kit, itm_scissors, itm_hammer, itm_extinguisher,
  1176. itm_flashlight, itm_flashlight_on, itm_hotplate, itm_soldering_iron,
  1177. itm_water_purifier, itm_two_way_radio, itm_radio, itm_radio_on, itm_crowbar,
  1178. itm_hoe, itm_shovel, itm_chainsaw_off, itm_chainsaw_on, itm_jackhammer,
  1179. --- 128,138 ----
  1180. itm_bag_plastic, itm_bottle_plastic, itm_bottle_glass,
  1181. itm_can_drink, itm_can_food, itm_box_small,
  1182. // Tools
  1183. ! //GlyphGryph's Addition
  1184. ! itm_sewing_machine, itm_torch, itm_lit_torch, itm_cymbal, itm_guitar, itm_drum,
  1185. ! itm_cash, itm_coins,
  1186. ! //End GlyphGryph's Addition
  1187. ! itm_lighter, itm_sewing_kit, itm_scissors, itm_hammer, itm_extinguisher,
  1188. itm_flashlight, itm_flashlight_on, itm_hotplate, itm_soldering_iron,
  1189. itm_water_purifier, itm_two_way_radio, itm_radio, itm_radio_on, itm_crowbar,
  1190. itm_hoe, itm_shovel, itm_chainsaw_off, itm_chainsaw_on, itm_jackhammer,
  1191. ***************
  1192. *** 173,185 ****
  1193. --- 184,205 ----
  1194.  
  1195. enum item_flag {
  1196. IF_NULL,
  1197. +
  1198. + //Weapons
  1199. IF_SPEAR, // Cutting damage is actually a piercing attack
  1200. IF_STAB, // This weapon *can* pierce, but also has normal cutting
  1201. IF_WRAP, // Can wrap around your target, costing you and them movement
  1202. IF_MESSY, // Splatters blood, etc.
  1203. IF_RELOAD_ONE, // Reload cartridge by cartridge (e.g. most shotguns)
  1204. IF_STR_RELOAD, // Reloading time is reduced by Strength * 20
  1205. + IF_LOUD, // This object makes a loud noise when striking things (not yet implemented)
  1206. + IF_BALANCED, // This object is well balanced for fighting, allowing for faster strikes than its size and weight would imply.
  1207. + IF_FLAMING, // This item is on fire and will light things it hits on fire as well.
  1208. +
  1209. + //Clothing
  1210. + IF_BULKY, // This item precludes other bulky items from being worn on the same body part
  1211.  
  1212. + //Ammo
  1213. IF_AMMO_FLAME, // Sets fire to terrain and monsters
  1214. IF_AMMO_INCENDIARY, // Sparks explosive terrain
  1215. IF_AMMO_EXPLOSIVE, // Small explosion
  1216. ***************
  1217. *** 450,461 ****
  1218. char psym, nc_color pcolor, material pm1, material pm2,
  1219. unsigned char pvolume, unsigned char pweight,
  1220. signed char pmelee_dam, signed char pmelee_cut, signed char pm_to_hit,
  1221. - unsigned pitem_flags,
  1222. -
  1223. unsigned char pcovers, signed char pencumber,
  1224. unsigned char pdmg_resist, unsigned char pcut_resist,
  1225. unsigned char penv_resist, signed char pwarmth,
  1226. ! unsigned char pstorage)
  1227. :itype(pid, prarity, pprice, pname, pdes, psym, pcolor, pm1, pm2,
  1228. pvolume, pweight, pmelee_dam, pmelee_cut, pm_to_hit, pitem_flags) {
  1229. covers = pcovers;
  1230. --- 471,480 ----
  1231. char psym, nc_color pcolor, material pm1, material pm2,
  1232. unsigned char pvolume, unsigned char pweight,
  1233. signed char pmelee_dam, signed char pmelee_cut, signed char pm_to_hit,
  1234. unsigned char pcovers, signed char pencumber,
  1235. unsigned char pdmg_resist, unsigned char pcut_resist,
  1236. unsigned char penv_resist, signed char pwarmth,
  1237. ! unsigned char pstorage, unsigned pitem_flags)
  1238. :itype(pid, prarity, pprice, pname, pdes, psym, pcolor, pm1, pm2,
  1239. pvolume, pweight, pmelee_dam, pmelee_cut, pm_to_hit, pitem_flags) {
  1240. covers = pcovers;
  1241. diff -crB Catacompare/iuse.cpp BetterHomesAndGardens/iuse.cpp
  1242. *** Catacompare/iuse.cpp 2011-08-21 15:34:02.000000000 -0400
  1243. --- BetterHomesAndGardens/iuse.cpp 2011-09-01 01:17:57.000000000 -0400
  1244. ***************
  1245. *** 924,929 ****
  1246. --- 924,953 ----
  1247. }
  1248. }
  1249.  
  1250. + void iuse::light_torch(game *g, player *p, item *it, bool t)
  1251. + {
  1252. + if (!p->has_amount(itm_lighter, 1)) {
  1253. + g->add_msg("You need a lighter!");
  1254. + return;
  1255. + }
  1256. + p->use_up(itm_lighter, 1);
  1257. + g->add_msg("You light the torch.");
  1258. + p->moves -= 150;
  1259. + it->make(g->itypes[itm_lit_torch]);
  1260. + it->active = true;
  1261. + }
  1262. +
  1263. + void iuse::douse_torch(game *g, player *p, item *it, bool t)
  1264. + {
  1265. + if (t) {
  1266. + } else {
  1267. + g->add_msg("Your torch sputters and goes out.");
  1268. + it->make(g->itypes[itm_torch]);
  1269. + it->active = false;
  1270. + }
  1271. + }
  1272. +
  1273. +
  1274. void iuse::water_purifier(game *g, player *p, item *it, bool t)
  1275. {
  1276. char ch = g->inv("Purify what?");
  1277. ***************
  1278. *** 1839,1844 ****
  1279. --- 1863,1986 ----
  1280. }
  1281. }
  1282.  
  1283. + //GlyphGryph's Additions
  1284. + void iuse::strum(game *g, player *p, item *it, bool t){
  1285. + int dirx=p->posx;
  1286. + int diry=p->posy;
  1287. + p->moves = -200;
  1288. + p->add_morale(MORALE_MUSIC, 10, 30);
  1289. + std::string sound = "";
  1290. + int r_num=rng(1,100);
  1291. + if(r_num <= 15){sound = "pluck a couple strings.";}
  1292. + else if(r_num <= 28){sound = "strum a few chords.";}
  1293. + else if(r_num <= 41){sound = "play a short melody.";}
  1294. + else if(r_num <= 54){sound = "run your fingers up and down a scale.";}
  1295. + else if(r_num <= 67){sound = "finger a couple notes.";}
  1296. + else if(r_num <= 77){sound = "play a catchy tune.";}
  1297. + else if(r_num <= 87){sound = "pick your way through a popular riff.";}
  1298. + else if(r_num <= 97){sound = "let loose a few sweet harmonies.";}
  1299. + else if(r_num <= 100){sound = "arpeggiate the apocalypse. Success!";}
  1300. + g->sound(dirx, diry, 16, ("You "+sound).c_str());
  1301. + }
  1302. +
  1303. + void iuse::bang(game *g, player *p, item *it, bool t){
  1304. + int dirx=p->posx;
  1305. + int diry=p->posy;
  1306. + p->moves = -200;
  1307. + std::string sound = "";
  1308. + int volume=0;
  1309. + int morale_bonus=2;
  1310. + int morale_bonus_cap=10;
  1311. + int r_num=rng(1,100);
  1312. + switch (it->type->id) {
  1313. + case itm_drum:
  1314. + morale_bonus=5;
  1315. + morale_bonus_cap=20;
  1316. + sound = "You bang your hand against the drum a couple times.";
  1317. + volume=23;
  1318. + if(p->has_item(itm_drumsticks)){
  1319. + morale_bonus=10;
  1320. + morale_bonus_cap=30;
  1321. + volume=34;
  1322. + if(r_num <= 10){sound = "You snap your drumstick against the tarp with a loud crack.";}
  1323. + else if(r_num <= 20){sound = "You chill out to a simple rythm.";}
  1324. + else if(r_num <= 35){sound = "Ba-dum ba-dum bap da-dum BAM.";}
  1325. + else if(r_num <= 50){sound = "You lay down a nice beat.";}
  1326. + else if(r_num <= 65){sound = "A quick drumroll, rising to a crescendo.";}
  1327. + else if(r_num <= 76){sound = "You play a fast drum roll.";}
  1328. + else if(r_num <= 87){sound = "Your drumsticks fly as you make enough of a racket to raise the dead.";}
  1329. + else if(r_num <= 100){sound = "Pa rum pum pum pum.";}
  1330. + }
  1331. + break;
  1332. + case itm_cymbal:
  1333. + morale_bonus=5;
  1334. + morale_bonus_cap=20;
  1335. + sound="CRASH!";
  1336. + volume=34;
  1337. + if(p->has_number(itm_cymbal,2)){
  1338. + morale_bonus=8;
  1339. + morale_bonus_cap=26;
  1340. + sound="You bring your cymbals together with a resounding crash!";
  1341. + volume=46;
  1342. + }
  1343. + break;
  1344. + default:
  1345. + volume=15;
  1346. + if(r_num <= 50){sound="Bang!";}
  1347. + else if(r_num <= 80){sound="Ting!";}
  1348. + else if(r_num <= 100){sound="Clang!";}
  1349. + }
  1350. + p->add_morale(MORALE_MUSIC, morale_bonus, morale_bonus_cap);
  1351. + g->sound(dirx, diry, volume, (sound.c_str()));
  1352. + }
  1353. +
  1354. + void iuse::burn_cash(game *g, player *p, item *it, bool t){
  1355. + if (!p->has_amount(itm_lighter, 1)) {
  1356. + g->add_msg("You need a lighter!");
  1357. + return;
  1358. + }
  1359. + p->use_up(itm_lighter, 1);
  1360. + p->moves = -200;
  1361. + p->add_morale(MORALE_FEELING_GOOD, 1, 10);
  1362. + int r_chance=rng(0,5);
  1363. + if(r_chance>0){
  1364. + g->add_msg("You peel a bill from the pile, and light a corner. The flame crawls up the the worthless money, and you get a strange sense of joy watching it go up.");
  1365. + }
  1366. + else{
  1367. + g->add_msg("You peel a bill from the pile, and light a corner. The flame singes your fingers, and you let it go. It's caught by the wind, fluttering a bit before coming to rest, soon leaving nothing but ashes. You aren't sure why, but you feel a perverse sense of glee as you watch it burn.");
  1368. + int r_x=rng(-3,3);
  1369. + int r_y=rng(-3,3);
  1370. + int tx = p->posy;
  1371. + int ty = p->posy;
  1372. + if (g->m.add_field(g, tx, ty, fd_fire, 1))
  1373. + g->m.field_at(tx, ty).age = 1400;
  1374. + }
  1375. + }
  1376. +
  1377. + void iuse::flip_coin(game *g, player *p, item *it, bool t){
  1378. + p->moves = -100;
  1379. + int r_chance=rng(0,100);
  1380. + g->add_msg("You give the coin a flip, and it spins through the air...");
  1381. + if(0<r_chance && 50>r_chance){
  1382. + g->add_msg("You catch the coin, and look down. Heads.");
  1383. + }
  1384. + else if(50<r_chance && 100>r_chance){
  1385. + g->add_msg("You catch the coin, and look down. Tails.");
  1386. + }
  1387. + else if(0==r_chance){
  1388. + p->add_morale(MORALE_FEELING_BAD, -10,-100);
  1389. + g->add_msg("You catch a momentary glimpse of nightmarish potential, a world bisecting your own, a world more monstrous than even this world is now. And it's pushing at the boundaries of reality, just waiting for the coin to come up heads... You catch it.\n\
  1390. + You look down, shaken, and let out a sigh of relief... Tails.");
  1391. + }
  1392. + else if(100==r_chance){
  1393. + p->add_morale(MORALE_FEELING_BAD, -10,-100);
  1394. + g->add_msg("You catch a momentary glimpse of nightmarish potential, a world bisecting your own, a world more monstrous than even this world is now. And it's pushing at the boundaries of reality, just waiting for the coin to come up heads... You catch it.\n\
  1395. + You look down, shaken, and let out a sigh of relief... Heads.");
  1396. + }
  1397. + }
  1398. +
  1399. + //End GlyphGryph's Additions
  1400. +
  1401. /* MACGUFFIN FUNCTIONS
  1402. * These functions should refer to it->associated_mission for the particulars
  1403. */
  1404. diff -crB Catacompare/iuse.h BetterHomesAndGardens/iuse.h
  1405. *** Catacompare/iuse.h 2011-08-21 15:34:02.000000000 -0400
  1406. --- BetterHomesAndGardens/iuse.h 2011-09-01 00:50:35.000000000 -0400
  1407. ***************
  1408. *** 46,51 ****
  1409. --- 46,55 ----
  1410. void hammer (game *g, player *p, item *it, bool t);
  1411. void light_off (game *g, player *p, item *it, bool t);
  1412. void light_on (game *g, player *p, item *it, bool t);
  1413. + //GlyphGryph's Additions
  1414. + void light_torch (game *g, player *p, item *it, bool t);
  1415. + void douse_torch (game *g, player *p, item *it, bool t);
  1416. + //End GlyphGryph's Additions
  1417. void water_purifier (game *g, player *p, item *it, bool t);
  1418. void two_way_radio (game *g, player *p, item *it, bool t);
  1419. void radio_off (game *g, player *p, item *it, bool t);
  1420. ***************
  1421. *** 85,90 ****
  1422. --- 89,99 ----
  1423. void tazer (game *g, player *p, item *it, bool t);
  1424. void mp3 (game *g, player *p, item *it, bool t);
  1425. void mp3_on (game *g, player *p, item *it, bool t);
  1426. + //GlyphGryph's Additions
  1427. + void strum (game *g, player *p, item *it, bool t);
  1428. + void bang (game *g, player *p, item *it, bool t);
  1429. + void burn_cash (game *g, player *p, item *it, bool t);
  1430. + void flip_coin (game *g, player *p, item *it, bool t);
  1431. // MACGUFFINS
  1432. void mcg_note (game *g, player *p, item *it, bool t);
  1433. // ARTIFACTS
  1434. diff -crB Catacompare/mapgen.cpp BetterHomesAndGardens/mapgen.cpp
  1435. *** Catacompare/mapgen.cpp 2011-08-21 15:34:02.000000000 -0400
  1436. --- BetterHomesAndGardens/mapgen.cpp 2011-09-01 01:40:12.000000000 -0400
  1437. ***************
  1438. *** 2491,2497 ****
  1439. place_items(mi_office, 60, 2, 7, 7, 12, false, 0);
  1440. place_items(mi_office, 60, 9, 10, 18, 12, false, 0);
  1441. place_items(mi_office, 70, 14, 14, 18, 21, false, 0);
  1442. ! place_items(mi_vault, 45, 3, 15, 11, 20, false, 0);
  1443.  
  1444. if (terrain_type == ot_bank_east)
  1445. rotate(1);
  1446. --- 2491,2499 ----
  1447. place_items(mi_office, 60, 2, 7, 7, 12, false, 0);
  1448. place_items(mi_office, 60, 9, 10, 18, 12, false, 0);
  1449. place_items(mi_office, 70, 14, 14, 18, 21, false, 0);
  1450. ! place_items(mi_vault, 65, 3, 17, 3, 18, false, 0);
  1451. ! place_items(mi_vault_cash, 99, 3, 15, 11, 16, false, 0);
  1452. ! place_items(mi_vault_cash, 99, 3, 19, 11, 20, false, 0);
  1453.  
  1454. if (terrain_type == ot_bank_east)
  1455. rotate(1);
  1456. diff -crB Catacompare/mapitemsdef.cpp BetterHomesAndGardens/mapitemsdef.cpp
  1457. *** Catacompare/mapitemsdef.cpp 2011-08-21 15:34:02.000000000 -0400
  1458. --- BetterHomesAndGardens/mapitemsdef.cpp 2011-08-31 23:43:58.000000000 -0400
  1459. ***************
  1460. *** 37,49 ****
  1461. itm_gloves_winter, itm_gloves_leather, itm_gloves_fingerless,
  1462. itm_bandana, itm_scarf, itm_hat_cotton, itm_hat_knit, itm_hat_fur,
  1463. itm_helmet_bike, itm_helmet_motor, itm_mag_tv, itm_mag_news,
  1464. ! itm_lighter, itm_extinguisher, itm_mp3, NULL);
  1465.  
  1466. setvector(
  1467. mapitems[mi_kitchen],
  1468. itm_pot, itm_pan, itm_knife_butter, itm_knife_steak, itm_knife_butcher,
  1469. itm_cookbook, itm_rag, itm_hotplate, itm_flashlight, itm_extinguisher,
  1470. ! itm_whiskey, itm_bleach, itm_ammonia, itm_flour, itm_sugar, itm_salt,
  1471. NULL);
  1472.  
  1473. setvector(
  1474. --- 37,50 ----
  1475. itm_gloves_winter, itm_gloves_leather, itm_gloves_fingerless,
  1476. itm_bandana, itm_scarf, itm_hat_cotton, itm_hat_knit, itm_hat_fur,
  1477. itm_helmet_bike, itm_helmet_motor, itm_mag_tv, itm_mag_news,
  1478. ! itm_lighter, itm_extinguisher, itm_mp3, itm_chair, itm_sewing_machine, itm_guitar,
  1479. ! itm_cymbal, itm_drumsticks, itm_drum, itm_coins, NULL);
  1480.  
  1481. setvector(
  1482. mapitems[mi_kitchen],
  1483. itm_pot, itm_pan, itm_knife_butter, itm_knife_steak, itm_knife_butcher,
  1484. itm_cookbook, itm_rag, itm_hotplate, itm_flashlight, itm_extinguisher,
  1485. ! itm_whiskey, itm_bleach, itm_ammonia, itm_flour, itm_sugar, itm_salt, itm_chair,
  1486. NULL);
  1487.  
  1488. setvector(
  1489. ***************
  1490. *** 60,66 ****
  1491. itm_hacksaw, itm_xacto, itm_gloves_leather, itm_mask_dust,
  1492. itm_glasses_safety, itm_battery, itm_nail, itm_nailgun,
  1493. itm_manual_mechanics, itm_hammer, itm_flashlight, itm_soldering_iron,
  1494. ! itm_bubblewrap, NULL);
  1495.  
  1496. setvector(
  1497. mapitems[mi_bedroom],
  1498. --- 61,67 ----
  1499. itm_hacksaw, itm_xacto, itm_gloves_leather, itm_mask_dust,
  1500. itm_glasses_safety, itm_battery, itm_nail, itm_nailgun,
  1501. itm_manual_mechanics, itm_hammer, itm_flashlight, itm_soldering_iron,
  1502. ! itm_bubblewrap, itm_sewing_machine, NULL);
  1503.  
  1504. setvector(
  1505. mapitems[mi_bedroom],
  1506. ***************
  1507. *** 71,77 ****
  1508. itm_mag_news, itm_novel_romance, itm_novel_drama, itm_manual_mechanics,
  1509. itm_manual_speech, itm_manual_business, itm_manual_computers,
  1510. itm_lighter, itm_sewing_kit, itm_scissors, itm_soldering_iron,
  1511. ! itm_radio, itm_syringe, itm_mp3, NULL);
  1512.  
  1513. setvector(
  1514. mapitems[mi_homeguns],
  1515. --- 72,79 ----
  1516. itm_mag_news, itm_novel_romance, itm_novel_drama, itm_manual_mechanics,
  1517. itm_manual_speech, itm_manual_business, itm_manual_computers,
  1518. itm_lighter, itm_sewing_kit, itm_scissors, itm_soldering_iron,
  1519. ! itm_radio, itm_syringe, itm_mp3, itm_socks, itm_guitar, itm_knapsack, itm_rigid_backpack,
  1520. ! itm_rucksack, itm_drumsticks, itm_coins, NULL);
  1521.  
  1522. setvector(
  1523. mapitems[mi_homeguns],
  1524. ***************
  1525. *** 88,94 ****
  1526. itm_sweatshirt, itm_sweater, itm_hoodie, itm_jacket_light,
  1527. itm_jacket_jean, itm_blazer, itm_jacket_leather, itm_poncho,
  1528. itm_trenchcoat, itm_peacoat, itm_vest, itm_mag_porn, itm_lighter,
  1529. ! itm_sewing_kit, itm_flashlight, NULL);
  1530.  
  1531. setvector(
  1532. mapitems[mi_snacks],
  1533. --- 90,96 ----
  1534. itm_sweatshirt, itm_sweater, itm_hoodie, itm_jacket_light,
  1535. itm_jacket_jean, itm_blazer, itm_jacket_leather, itm_poncho,
  1536. itm_trenchcoat, itm_peacoat, itm_vest, itm_mag_porn, itm_lighter,
  1537. ! itm_sewing_kit, itm_socks, itm_flashlight, itm_cash, itm_coins, NULL);
  1538.  
  1539. setvector(
  1540. mapitems[mi_snacks],
  1541. ***************
  1542. *** 171,177 ****
  1543. itm_bandages, itm_aspirin, itm_bat, itm_sneakers, itm_tshirt,
  1544. itm_tank_top, itm_gloves_fingerless, itm_glasses_safety,
  1545. itm_goggles_swim, itm_goggles_ski, itm_hat_ball, itm_helmet_bike,
  1546. ! itm_helmet_ball, itm_manual_brawl, NULL);
  1547.  
  1548. setvector(
  1549. mapitems[mi_camping],
  1550. --- 173,179 ----
  1551. itm_bandages, itm_aspirin, itm_bat, itm_sneakers, itm_tshirt,
  1552. itm_tank_top, itm_gloves_fingerless, itm_glasses_safety,
  1553. itm_goggles_swim, itm_goggles_ski, itm_hat_ball, itm_helmet_bike,
  1554. ! itm_helmet_ball, itm_manual_brawl, itm_socks, NULL);
  1555.  
  1556. setvector(
  1557. mapitems[mi_camping],
  1558. ***************
  1559. *** 180,186 ****
  1560. itm_bolt_steel, itm_bbgun, itm_crossbow, itm_manual_knives,
  1561. itm_manual_first_aid, itm_manual_traps, itm_lighter, itm_sewing_kit,
  1562. itm_hammer, itm_flashlight, itm_water_purifier, itm_radio, itm_beartrap,
  1563. ! itm_UPS_off, itm_string_36, NULL);
  1564.  
  1565. setvector(
  1566. mapitems[mi_allsporting],
  1567. --- 182,189 ----
  1568. itm_bolt_steel, itm_bbgun, itm_crossbow, itm_manual_knives,
  1569. itm_manual_first_aid, itm_manual_traps, itm_lighter, itm_sewing_kit,
  1570. itm_hammer, itm_flashlight, itm_water_purifier, itm_radio, itm_beartrap,
  1571. ! itm_UPS_off, itm_string_36, itm_knapsack, itm_rigid_backpack,
  1572. ! itm_rucksack, NULL);
  1573.  
  1574. setvector(
  1575. mapitems[mi_allsporting],
  1576. ***************
  1577. *** 192,198 ****
  1578. itm_bb, itm_bolt_steel, itm_bbgun, itm_crossbow, itm_manual_knives,
  1579. itm_manual_first_aid, itm_manual_traps, itm_lighter, itm_sewing_kit,
  1580. itm_hammer, itm_flashlight, itm_water_purifier, itm_radio, itm_beartrap,
  1581. ! itm_extinguisher, itm_string_36, NULL);
  1582.  
  1583. setvector(
  1584. mapitems[mi_alcohol],
  1585. --- 195,202 ----
  1586. itm_bb, itm_bolt_steel, itm_bbgun, itm_crossbow, itm_manual_knives,
  1587. itm_manual_first_aid, itm_manual_traps, itm_lighter, itm_sewing_kit,
  1588. itm_hammer, itm_flashlight, itm_water_purifier, itm_radio, itm_beartrap,
  1589. ! itm_extinguisher, itm_string_36, itm_knapsack, itm_rigid_backpack,
  1590. ! itm_rucksack, itm_socks, NULL);
  1591.  
  1592. setvector(
  1593. mapitems[mi_alcohol],
  1594. ***************
  1595. *** 263,269 ****
  1596.  
  1597. setvector(
  1598. mapitems[mi_shoes],
  1599. ! itm_sneakers, itm_boots, itm_flip_flops, itm_dress_shoes, itm_heels,
  1600. NULL);
  1601.  
  1602. setvector(
  1603. --- 267,273 ----
  1604.  
  1605. setvector(
  1606. mapitems[mi_shoes],
  1607. ! itm_sneakers, itm_boots, itm_flip_flops, itm_dress_shoes, itm_heels, itm_socks,
  1608. NULL);
  1609.  
  1610. setvector(
  1611. ***************
  1612. *** 289,295 ****
  1613.  
  1614. setvector(
  1615. mapitems[mi_bags],
  1616. ! itm_backpack, itm_purse, itm_mbag, NULL);
  1617.  
  1618. setvector(
  1619. mapitems[mi_allclothes],
  1620. --- 293,300 ----
  1621.  
  1622. setvector(
  1623. mapitems[mi_bags],
  1624. ! itm_backpack, itm_purse, itm_mbag, itm_knapsack, itm_rigid_backpack,
  1625. ! itm_rucksack, NULL);
  1626.  
  1627. setvector(
  1628. mapitems[mi_allclothes],
  1629. ***************
  1630. *** 431,437 ****
  1631. mapitems[mi_subway],
  1632. itm_wrapper, itm_string_6, itm_chain, itm_rock, itm_pipe,
  1633. itm_mag_porn, itm_bottle_plastic, itm_bottle_glass, itm_can_drink,
  1634. ! itm_can_food, itm_lighter, itm_flashlight, itm_rag, itm_crowbar, NULL);
  1635.  
  1636. setvector(
  1637. mapitems[mi_sewer],
  1638. --- 436,442 ----
  1639. mapitems[mi_subway],
  1640. itm_wrapper, itm_string_6, itm_chain, itm_rock, itm_pipe,
  1641. itm_mag_porn, itm_bottle_plastic, itm_bottle_glass, itm_can_drink,
  1642. ! itm_can_food, itm_lighter, itm_flashlight, itm_rag, itm_crowbar, itm_coins, NULL);
  1643.  
  1644. setvector(
  1645. mapitems[mi_sewer],
  1646. ***************
  1647. *** 484,496 ****
  1648. itm_codeine, itm_cig, itm_knife_combat, itm_boots_steel, itm_pants_army,
  1649. itm_kevlar, itm_vest, itm_gloves_fingerless, itm_mask_gas,
  1650. itm_glasses_safety, itm_goggles_nv, itm_hat_boonie, itm_helmet_army,
  1651. ! itm_backpack, itm_holster, itm_bootstrap, itm_9mm, itm_45_acp,
  1652. itm_556, itm_556_incendiary, itm_762_51, itm_762_51_incendiary,
  1653. itm_laser_pack, itm_usp_9mm, itm_usp_45, itm_m4a1, itm_scar_l,
  1654. itm_scar_h, itm_m249, itm_ftk93, itm_silencer, itm_clip, itm_lighter,
  1655. itm_flashlight, itm_two_way_radio, itm_landmine, itm_grenade,
  1656. ! itm_EMPbomb, itm_gasbomb, itm_smokebomb, itm_UPS_off, itm_tazer, NULL);
  1657. !
  1658. setvector(
  1659. mapitems[mi_science],
  1660. itm_water, itm_bleach, itm_ammonia, itm_mutagen, itm_purifier,
  1661. --- 489,501 ----
  1662. itm_codeine, itm_cig, itm_knife_combat, itm_boots_steel, itm_pants_army,
  1663. itm_kevlar, itm_vest, itm_gloves_fingerless, itm_mask_gas,
  1664. itm_glasses_safety, itm_goggles_nv, itm_hat_boonie, itm_helmet_army,
  1665. ! itm_holster, itm_bootstrap, itm_9mm, itm_45_acp,
  1666. itm_556, itm_556_incendiary, itm_762_51, itm_762_51_incendiary,
  1667. itm_laser_pack, itm_usp_9mm, itm_usp_45, itm_m4a1, itm_scar_l,
  1668. itm_scar_h, itm_m249, itm_ftk93, itm_silencer, itm_clip, itm_lighter,
  1669. itm_flashlight, itm_two_way_radio, itm_landmine, itm_grenade,
  1670. ! itm_EMPbomb, itm_gasbomb, itm_smokebomb, itm_UPS_off, itm_tazer,
  1671. ! itm_rigid_backpack,itm_rucksack, NULL);
  1672. setvector(
  1673. mapitems[mi_science],
  1674. itm_water, itm_bleach, itm_ammonia, itm_mutagen, itm_purifier,
  1675. ***************
  1676. *** 509,515 ****
  1677. itm_mutagen, itm_purifier, itm_royal_jelly, itm_fetus, itm_card_id,
  1678. itm_electrohack, itm_processor, itm_armor_chitin, itm_plut_cell,
  1679. itm_laser_pack, itm_m249, itm_v29, itm_ftk93, itm_conversion_battle,
  1680. ! itm_conversion_sniper, itm_canister_goo, itm_mininuke, itm_portal,
  1681. NULL);
  1682.  
  1683. setvector(
  1684. --- 514,520 ----
  1685. itm_mutagen, itm_purifier, itm_royal_jelly, itm_fetus, itm_card_id,
  1686. itm_electrohack, itm_processor, itm_armor_chitin, itm_plut_cell,
  1687. itm_laser_pack, itm_m249, itm_v29, itm_ftk93, itm_conversion_battle,
  1688. ! itm_conversion_sniper, itm_canister_goo, itm_mininuke, itm_portal, itm_cash,
  1689. NULL);
  1690.  
  1691. setvector(
  1692. ***************
  1693. *** 531,536 ****
  1694. --- 536,554 ----
  1695. mapitems[mi_stash_drugs],
  1696. itm_pills_sleep, itm_oxycodone, itm_xanax, itm_adderall, itm_weed,
  1697. itm_coke, itm_meth, itm_heroin, NULL);
  1698. + // GlyphGryph's Additions
  1699. + setvector(
  1700. + mapitems[mi_weight_set],
  1701. + itm_dumbell, itm_barbell, itm_weight_plate, NULL);
  1702. +
  1703. + setvector(
  1704. + mapitems[mi_drum_kit],
  1705. + itm_drumsticks, itm_cymbal, NULL);
  1706. +
  1707. + setvector(
  1708. + mapitems[mi_vault_cash],
  1709. + itm_cash, NULL);
  1710. + // End GlyphGryph's Additions
  1711.  
  1712. // This one kind of an inverted list; what a traveling salesman will NOT carry
  1713. setvector(
  1714. diff -crB Catacompare/mapitems.h BetterHomesAndGardens/mapitems.h
  1715. *** Catacompare/mapitems.h 2011-08-21 15:34:02.000000000 -0400
  1716. --- BetterHomesAndGardens/mapitems.h 2011-08-31 23:44:18.000000000 -0400
  1717. ***************
  1718. *** 34,40 ****
  1719. mi_stash_wood, mi_stash_drugs,
  1720. // Shopkeeps &c
  1721. mi_trader_avoid,
  1722. ! num_itloc
  1723. };
  1724.  
  1725. // This is used only for monsters; they get a list of items_locations, and
  1726. --- 34,44 ----
  1727. mi_stash_wood, mi_stash_drugs,
  1728. // Shopkeeps &c
  1729. mi_trader_avoid,
  1730. ! num_itloc,
  1731. ! // GlyphGryph's additions
  1732. ! mi_weight_set,
  1733. ! mi_drum_kit,
  1734. ! mi_vault_cash
  1735. };
  1736.  
  1737. // This is used only for monsters; they get a list of items_locations, and
  1738. Only in BetterHomesAndGardens/: notes
  1739. Only in BetterHomesAndGardens/: obj
  1740. diff -crB Catacompare/player.cpp BetterHomesAndGardens/player.cpp
  1741. *** Catacompare/player.cpp 2011-08-21 15:34:02.000000000 -0400
  1742. --- BetterHomesAndGardens/player.cpp 2011-08-24 14:41:43.000000000 -0400
  1743. ***************
  1744. *** 3552,3560 ****
  1745. g->add_msg("You can't wear that, it's made of wool!");
  1746. return false;
  1747. }
  1748. ! if (armor->covers & mfb(bp_head) && encumb(bp_head) != 0) {
  1749. ! g->add_msg("You can't wear a%s helmet!",
  1750. ! wearing_something_on(bp_head) ? "nother" : "");
  1751. return false;
  1752. }
  1753. if (armor->covers & mfb(bp_hands) && has_trait(PF_WEBBED)) {
  1754. --- 3552,3583 ----
  1755. g->add_msg("You can't wear that, it's made of wool!");
  1756. return false;
  1757. }
  1758. ! if (armor->covers & mfb(bp_head) && encumb_with(bp_head,armor) > 4) {
  1759. ! g->add_msg("You simply cannot fit that much stuff on your head. The idea is preposterous.");
  1760. ! return false;
  1761. ! }
  1762. ! //Adds a hard cap of 10 encumbrance to any body part
  1763. ! for (body_part i = bp_head; i < num_bp; i = body_part(i + 1)) {
  1764. ! if(armor->covers & mfb(i) && encumb_with(i,armor)>10){
  1765. ! g->add_msg("You simply cannot wear that much stuff. The idea is preposterous.");
  1766. ! return false;
  1767. ! }
  1768. ! }
  1769. !
  1770. ! if ((armor->covers & mfb(bp_head) && to_wear->has_flag(IF_BULKY)) && wearing_bulky_on(bp_head)){
  1771. ! g->add_msg("You can't wear another helmet!");
  1772. ! return false;
  1773. ! }
  1774. ! if (armor->covers & mfb(bp_torso) && to_wear->has_flag(IF_BULKY) && wearing_bulky_on(bp_torso)){
  1775. ! g->add_msg("You can't figure out how to put it on when combined with what you are already wearing.");
  1776. ! return false;
  1777. ! }
  1778. ! if (armor->covers & mfb(bp_legs) && to_wear->has_flag(IF_BULKY) && wearing_bulky_on(bp_legs)){
  1779. ! g->add_msg("You can't figure out how to put it on when combined with what you are already wearing.");
  1780. ! return false;
  1781. ! }
  1782. ! if (armor->covers & mfb(bp_hands) && to_wear->has_flag(IF_BULKY) && wearing_bulky_on(bp_hands)){
  1783. ! g->add_msg("You can't figure out how to put in on when combined with what you are already wearing.");
  1784. return false;
  1785. }
  1786. if (armor->covers & mfb(bp_hands) && has_trait(PF_WEBBED)) {
  1787. ***************
  1788. *** 3565,3571 ****
  1789. g->add_msg("You cannot put a %s over your beak.", armor->name.c_str());
  1790. return false;
  1791. }
  1792. ! if (armor->covers & mfb(bp_feet) && wearing_something_on(bp_feet)) {
  1793. g->add_msg("You're already wearing footwear!");
  1794. return false;
  1795. }
  1796. --- 3588,3594 ----
  1797. g->add_msg("You cannot put a %s over your beak.", armor->name.c_str());
  1798. return false;
  1799. }
  1800. ! if ((armor->covers & mfb(bp_feet) && to_wear->has_flag(IF_BULKY)) && wearing_bulky_on(bp_feet)) {
  1801. g->add_msg("You're already wearing footwear!");
  1802. return false;
  1803. }
  1804. ***************
  1805. *** 3823,3828 ****
  1806. --- 3846,3894 ----
  1807. }
  1808. return ret;
  1809. }
  1810. + //GlyphGryph's Addition
  1811. + //Checks what the target areas encumbrance would be after a piece of clothing is added
  1812. + int player::encumb_with(body_part bp, it_armor* new_armor){
  1813. + int ret = 0;
  1814. + int layers = 0;
  1815. + it_armor* armor;
  1816. +
  1817. + if (new_armor->id != itm_glasses_eye) {
  1818. + if (new_armor->covers & mfb(bp) ||
  1819. + (bp == bp_torso && (new_armor->covers & mfb(bp_arms)))) {
  1820. + ret += new_armor->encumber;
  1821. + if (new_armor->encumber >= 0 || bp != bp_torso)
  1822. + layers++;
  1823. + }
  1824. + }
  1825. +
  1826. + for (int i = 0; i < worn.size(); i++) {
  1827. + if (!worn[i].is_armor()){
  1828. + debugmsg("%s::encumb hit a non-armor item at worn[%d] (%s)", name.c_str(),
  1829. + i, worn[i].tname().c_str());
  1830. + }
  1831. + if (worn[i].type->id != itm_glasses_eye) {
  1832. + armor = dynamic_cast<it_armor*>(worn[i].type);
  1833. + if (armor->covers & mfb(bp) ||
  1834. + (bp == bp_torso && (armor->covers & mfb(bp_arms)))) {
  1835. + ret += armor->encumber;
  1836. + if (armor->encumber >= 0 || bp != bp_torso)
  1837. + layers++;
  1838. + }
  1839. + }
  1840. + }
  1841. +
  1842. +
  1843. + if (layers > 1)
  1844. + ret += (layers - 1) * (bp == bp_torso ? .5 : 2);// Easier to layer on torso
  1845. + if ((bp == bp_head && has_bionic(bio_armor_head)) ||
  1846. + (bp == bp_torso && has_bionic(bio_armor_torso)) ||
  1847. + (bp == bp_legs && has_bionic(bio_armor_legs)))
  1848. + ret += 2;
  1849. + return ret;
  1850. + }
  1851. +
  1852. + //End GlyphGryph's Addition
  1853.  
  1854. int player::encumb(body_part bp)
  1855. {
  1856. ***************
  1857. *** 4023,4033 ****
  1858. return ret;
  1859. }
  1860.  
  1861. bool player::wearing_something_on(body_part bp)
  1862. {
  1863. for (int i = 0; i < worn.size(); i++) {
  1864. if ((dynamic_cast<it_armor*>(worn[i].type))->covers & mfb(bp))
  1865. ! return true;
  1866. }
  1867. return false;
  1868. }
  1869. --- 4089,4112 ----
  1870. return ret;
  1871. }
  1872.  
  1873. + //GlyphGryph's Addition
  1874. + //Checks to see if a bulky object is being worn on this body part
  1875. + bool player::wearing_bulky_on(body_part bp){
  1876. + for (int i = 0; i < worn.size(); i++){
  1877. + it_armor* this_armor = dynamic_cast<it_armor*>(worn[i].type);
  1878. + if(this_armor->covers & mfb(bp) && worn[i].has_flag(IF_BULKY)){
  1879. + return true;
  1880. + }
  1881. + }
  1882. + return false;
  1883. + }
  1884. + //End GlyphGryph's Addition
  1885. +
  1886. bool player::wearing_something_on(body_part bp)
  1887. {
  1888. for (int i = 0; i < worn.size(); i++) {
  1889. if ((dynamic_cast<it_armor*>(worn[i].type))->covers & mfb(bp))
  1890. ! return true;
  1891. }
  1892. return false;
  1893. }
  1894. diff -crB Catacompare/player.h BetterHomesAndGardens/player.h
  1895. *** Catacompare/player.h 2011-08-21 15:34:02.000000000 -0400
  1896. --- BetterHomesAndGardens/player.h 2011-08-22 14:23:14.000000000 -0400
  1897. ***************
  1898. *** 127,136 ****
  1899. --- 127,138 ----
  1900. bool can_sleep(game *g); // Checked each turn during DIS_LYING_DOWN
  1901.  
  1902. int warmth(body_part bp); // Warmth provided by armor &c
  1903. + int encumb_with(body_part bp, it_armor* new_armor); //Hypothetical encumbrance from armor if a piece was added
  1904. int encumb(body_part bp); // Encumberance from armor &c
  1905. int armor_bash(body_part bp); // Bashing resistance
  1906. int armor_cut(body_part bp); // Cutting resistance
  1907. int resist(body_part bp); // Infection &c resistance
  1908. + bool wearing_bulky_on(body_part bp); //True if wearing a bulky object on this body part
  1909. bool wearing_something_on(body_part bp); // True if wearing something on bp
  1910.  
  1911. void practice(skill s, int amount); // Practice a skill
  1912. Only in BetterHomesAndGardens/: save
Add Comment
Please, Sign In to add comment