case ot_church_north:
case ot_church_east:
case ot_church_south:
case ot_church_west: {
for (int i = 0; i < SEEX * 2; i++) {
for (int j = 0; j < SEEY * 2; j++)
ter(i, j) = t_grass;
}
square(this, t_floor, 5, 3, 19, 11);
square(this, t_floor, 13, 13, 19, 22);
line(this, t_rock, 4, 2, 4, 13);
line(this, t_rock, 20, 2, 20, 23);
line(this, t_rock, 12, 13, 12, 23);
line(this, t_rock, 5, 2, 19, 2);
line(this, t_rock, 5, 12, 19, 12);
line(this, t_rock, 13, 18, 19, 18);
line(this, t_rock, 13, 23, 19, 23);
line(this, t_rock, 5, 8, 7, 8);
line(this, t_rock, 5, 10, 7, 10);
line(this, t_rock, 13, 15, 14, 15);
line(this, t_rock, 18, 15, 19, 15);
line(this, t_rock, 15, 13, 15, 17);
line(this, t_rock, 17, 13, 17, 17);
line(this, t_fence_h, 1, 12, 3, 12);
line(this, t_fence_h, 1, 23, 11, 23);
line(this, t_fence_v, 0, 12, 0, 23);
square(this, t_bench, 5, 3, 10, 7);
square(this, t_bench, 14, 3, 19, 7);
square(this, t_table, 18, 10, 19, 11);
line(this, t_bench, 14, 20, 18, 20);
line(this, t_table, 14, 21, 18, 21);
line(this, t_bench, 14, 22, 18, 22);
// Front doors
ter(11,2) = t_door_c;
ter(12,2) = t_door_c;
ter(13,2) = t_door_c;
//Other doors
ter(7,9) = t_door_c;
ter(7,11) = t_door_c;
ter(16,12) = t_door_c;
ter(15,14) = t_door_c;
ter(17,14) = t_door_c;
ter(15,16) = t_door_c;
ter(17,16) = t_door_c;
ter(16,18) = t_door_c;
ter(12,21) = t_door_c;
ter(0,19) = t_door_c;
ter(5,9) = t_bench;
ter(5,11) = t_bench;
ter(6,10) = t_portcullis;
ter(2,3) = t_tree;
ter(2,5) = t_tree;
ter(2,7) = t_tree;
ter(2,9) = t_tree;
ter(2,11) = t_tree;
ter(7,2) = t_window;
ter(9,2) = t_window;
ter(15,2) = t_window;
ter(17,2) = t_window;
ter(4,4) = t_window;
ter(4,6) = t_window;
ter(20,4) = t_window;
ter(20,6) = t_window;
ter(19,19) = t_fridge;
line(this, t_bed, 13, 13, 13, 14);
line(this, t_bed, 13, 16, 13, 17);
line(this, t_bed, 19, 13, 19, 14);
line(this, t_bed, 19, 16, 19, 17);
ter(12,9) = t_counter;
ter(12,11) = t_cross;
ter(3,14) = t_cross;
ter(3,16) = t_cross;
ter(3,18) = t_cross;
ter(3,20) = t_cross;
ter(3,22) = t_cross;
ter(6,14) = t_cross;
ter(6,16) = t_cross;
ter(6,18) = t_cross;
ter(6,20) = t_cross;
ter(6,22) = t_cross;
ter(9,14) = t_cross;
ter(9,16) = t_cross;
ter(9,18) = t_cross;
ter(9,20) = t_cross;
ter(9,22) = t_cross;
// Item placement
place_items(mi_fridgesnacks, 80, 19, 19, 19, 19, false, turn);
place_items(mi_church_lobby, 50, 5, 3, 19, 11, false, turn);
place_items(mi_church_back, 40, 13, 13, 19, 21, false, turn);
if (terrain_type == ot_church_east)
rotate(1);
if (terrain_type == ot_church_south)
rotate(2);
if (terrain_type == ot_church_west)
rotate(3);
} break;
MELEE("heavy cross", 18, 300,'+', c_ltblue, IRON, MNULL,
// VOL WGT DAM CUT HIT FLAGS
4, 9, 18, 2, 2, 0, "\
A true priest's tool, symbol and weapon.");
ARMOR("priest robes", 40, 100,C_TORSO, COTTON, MNULL,
// VOL WGT DAM HIT ENC RES CUT ENV WRM STO COVERS
6, 5, -7, -2, 0, 2, 2, 1, 4, 16, mfb(bp_legs)|mfb(bp_torso), "\
Light church robes with many internal compartments.");
DRINK("wine", 50, 100, c_red, itm_bottle_glass,
16, 4, 0, -4, -1, 2, 5, 20, &iuse::alcohol, ADD_ALCOHOL, "\
A sweet alcohol drink suitable for anyone.");
BOOK("Holy Bible", 35, 40,c_pink, PAPER, MNULL,
// VOL WGT DAM HIT TYPE LEV REQ FUN INT TIME
2, 4, 8, 1, sk_null, 0, 0, 2, 5, 20, "\
It is Holy Bible. You can read it to soothe your soul and mind.");
(to ter_id for t_cross, also items and buildings).
I also didn't include spawning code for the church, just make it to share the chance with a bank, there're too many banks IMHO.
Also there're a table and a bench (new objects which work like counters in terms of slowing you down).