Skip to content

Commit

Permalink
Merge new monsters and survivor suits.
Browse files Browse the repository at this point in the history
  • Loading branch information
kevingranade committed Sep 27, 2013
3 parents 8e5c8d2 + 4bc8422 + 684b9fa commit b667b78
Show file tree
Hide file tree
Showing 8 changed files with 264 additions and 6 deletions.
122 changes: 122 additions & 0 deletions data/json/recipes.json
Original file line number Diff line number Diff line change
Expand Up @@ -8868,6 +8868,40 @@
[ "hose", 1 ]
]
]
},{
"type" : "recipe",
"result": "mask_survivor",
"category": "CC_ARMOR",
"skill_used": "fabrication",
"difficulty": 5,
"time": 20000,
"reversible": true,
"autolearn": true,
"tools": [
[
[ "welder", 56 ],
[ "soldering_iron", 56 ],
[ "toolset", 4 ]
]
],
"components": [
[
[ "mask_filter", 2 ],
[ "mask_gas", 1 ]
],
[
[ "glasses_safety", 2 ],
[ "glasses_bal", 1 ]
],
[
[ "duct_tape", 100 ],
[ "superglue", 1 ]
],
[
[ "mask_bal", 1 ],
[ "kevlar_plate", 4 ]
]
]
},{
"type" : "recipe",
"result": "goggles_nv",
Expand Down Expand Up @@ -13982,6 +14016,53 @@
[ "salt", 1 ], [ "salt_water", 1 ], [ "seasoning_salt", 5 ]
]
]
},{
"type" : "recipe",
"result": "survivor_vest",
"category": "CC_ARMOR",
"skill_used": "tailor",
"skills_required" : ["fabrication", 1],
"difficulty": 3,
"time": 80000,
"reversible": false,
"autolearn": true,
"tools": [
[
[ "scissors", -1 ],
[ "knife_steak", -1 ],
[ "knife_combat", -1 ],
[ "knife_butcher", -1 ],
[ "pockknife", -1 ],
[ "scalpel", -1 ],
[ "machete", -1 ],
[ "broadsword", -1 ],
[ "toolset", -1 ]
],
[
[ "needle_bone", 100 ],
[ "sewing_kit", 100 ]
]
],
"components": [
[
[ "rag", 6 ]
],
[
[ "leather", 6 ]
],
[
[ "chestrig", 1 ],
[ "legrig", 1 ],
[ "vest", 1 ],
[ "tool_belt", 1 ],
[ "ragpouch", 4 ],
[ "leather_pouch", 2 ],
[ "fanny", 2 ]
],
[
[ "duct_tape", 50 ]
]
]
},{
"type" : "recipe",
"result": "lsurvivor_suit",
Expand Down Expand Up @@ -14164,6 +14245,47 @@
[ "kevlar_plate", 24 ]
]
]
},{
"type" : "recipe",
"result": "aep_suit",
"category": "CC_ARMOR",
"skill_used": "fabrication",
"skills_required" : ["tailor", 1],
"difficulty": 6,
"time": 180000,
"reversible": false,
"autolearn": true,
"tools": [
[
[ "scissors", -1 ],
[ "knife_steak", -1 ],
[ "knife_combat", -1 ],
[ "knife_butcher", -1 ],
[ "pockknife", -1 ],
[ "scalpel", -1 ],
[ "machete", -1 ],
[ "broadsword", -1 ],
[ "toolset", -1 ]
],
[
[ "welder", 112 ],
[ "soldering_iron", 112 ],
[ "toolset", 8 ]
]
],
"components": [
[
[ "hazmat_suit", 1 ]
],
[
[ "duct_tape", 600 ]
],
[
[ "kevlar", 1 ],
[ "swat_armor", 1 ],
[ "kevlar_plate", 24 ]
]
]
},{
"type" : "recipe",
"result": "jackhammer",
Expand Down
72 changes: 72 additions & 0 deletions data/raw/items/armor.json
Original file line number Diff line number Diff line change
Expand Up @@ -1152,6 +1152,78 @@
"coverage" : 100,
"material_thickness" : 5
},
{
"type" : "ARMOR",
"id" : "aep_suit",
"name" : "AEP suit",
"weight" : 9200,
"color" : "light_red",
"covers" : ["LEGS", "TORSO", "ARMS"],
"to_hit" : -8,
"storage" : 16,
"symbol" : "[",
"description" : "An armored environmental protection suit. Custom-built from a hazmat suit and body armor, it provides excellent protection against both physical harm and ambient radiation.",
"price" : 1400,
"material" : ["kevlar", "plastic"],
"volume" : 24,
"cutting" : 0,
"warmth" : 35,
"phase" : "solid",
"enviromental_protection" : 9,
"encumberance" : 5,
"bashing" : -5,
"flags" : ["VARSIZE","WATERPROOF"],
"coverage" : 100,
"material_thickness" : 5
},
{
"type" : "ARMOR",
"id" : "mask_survivor",
"name" : "survivor mask",
"weight" : 1231,
"color" : "dark_gray",
"covers" : ["MOUTH", "EYES"],
"to_hit" : -3,
"storage" : 0,
"symbol" : "[",
"description" : "A custom-built, reinforced gas mask that covers the face and eyes. Provides excellent protection from smoke, teargas, and shrapnel.",
"price" : 240,
"material" : ["kevlar", "plastic"],
"volume" : 6,
"cutting" : 0,
"warmth" : 40,
"phase" : "solid",
"enviromental_protection" : 12,
"encumberance" : 2,
"bashing" : 0,
"flags" : ["VARSIZE"],
"coverage" : 95,
"material_thickness" : 4
},
{
"type" : "ARMOR",
"id" : "survivor_vest",
"name" : "survivor vest",
"weight" : 925,
"color" : "light_red",
"covers" : ["TORSO"],
"to_hit" : 0,
"storage" : 28,
"symbol" : "[",
"description" : "A custom-built light vest covered with pockets and pouches. Durable and carefully crafted to be comfortable to wear.",
"price" : 200,
"material" : ["leather", "cotton"],
"volume" : 4,
"cutting" : 0,
"warmth" : 5,
"phase" : "solid",
"enviromental_protection" : 0,
"encumberance" : 0,
"bashing" : -3,
"flags" : ["VARSIZE"],
"coverage" : 75,
"material_thickness" : 3
},
{
"type" : "ARMOR",
"id" : "armor_plate",
Expand Down
7 changes: 6 additions & 1 deletion data/raw/monstergroups.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@
{ "monster" : "mon_moose", "freq" : 10, "multiplier" : 3 },
{ "monster" : "mon_wolf", "freq" : 30, "multiplier" : 5 },
{ "monster" : "mon_coyote", "freq" : 30, "multiplier" : 5 },
{ "monster" : "mon_turkey", "freq" : 30, "multiplier" : 5 },
{ "monster" : "mon_raccoon", "freq" : 40, "multiplier" : 5 },
{ "monster" : "mon_opossum", "freq" : 20, "multiplier" : 5 },
{ "monster" : "mon_rattlesnake", "freq" : 5, "multiplier" : 5 },
{ "monster" : "mon_bear", "freq" : 20, "multiplier" : 10 },
{ "monster" : "mon_cougar", "freq" : 20, "multiplier" : 10 },
{ "monster" : "mon_spider_wolf", "freq" : 30, "multiplier" : 10 },
Expand Down Expand Up @@ -117,7 +121,8 @@
{ "monster" : "mon_frog", "freq" : 100, "multiplier" : 0 },
{ "monster" : "mon_slug", "freq" : 85, "multiplier" : 0 },
{ "monster" : "mon_dermatik_larva", "freq" : 0, "multiplier" : 0 },
{ "monster" : "mon_dermatik", "freq" : 65, "multiplier" : 0 }
{ "monster" : "mon_dermatik", "freq" : 65, "multiplier" : 0 },
{ "monster" : "mon_giant_crayfish", "freq" : 100, "multiplier" : 0 }
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions mongroupdef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ int GetInt(std::string key, picojson::object *obj)
void init_translation()
{
monStr2monId["mon_null"] = mon_null;
monStr2monId["mon_squirrel"] = mon_squirrel; monStr2monId["mon_rabbit"] = mon_rabbit; monStr2monId["mon_deer"] = mon_deer; monStr2monId["mon_moose"] = mon_moose; monStr2monId["mon_wolf"] = mon_wolf; monStr2monId["mon_coyote"] = mon_coyote; monStr2monId["mon_bear"] = mon_bear; monStr2monId["mon_cougar"] = mon_cougar; monStr2monId["mon_crow"] = mon_crow;
monStr2monId["mon_squirrel"] = mon_squirrel; monStr2monId["mon_rabbit"] = mon_rabbit; monStr2monId["mon_deer"] = mon_deer; monStr2monId["mon_moose"] = mon_moose; monStr2monId["mon_wolf"] = mon_wolf; monStr2monId["mon_coyote"] = mon_coyote; monStr2monId["mon_bear"] = mon_bear; monStr2monId["mon_cougar"] = mon_cougar; monStr2monId["mon_crow"] = mon_crow; monStr2monId["mon_turkey"] = mon_turkey; monStr2monId["mon_raccoon"] = mon_raccoon; monStr2monId["mon_opossumn"] = mon_opossum; monStr2monId["mon_rattlesnake"] = mon_rattlesnake;
monStr2monId["mon_dog"] = mon_dog; monStr2monId["mon_cat"] = mon_cat;
monStr2monId["mon_ant_larva"] = mon_ant_larva; monStr2monId["mon_ant"] = mon_ant; monStr2monId["mon_ant_soldier"] = mon_ant_soldier; monStr2monId["mon_ant_queen"] = mon_ant_queen; monStr2monId["mon_ant_fungus"] = mon_ant_fungus;
monStr2monId["mon_fly"] = mon_fly; monStr2monId["mon_bee"] = mon_bee; monStr2monId["mon_wasp"] = mon_wasp;
Expand All @@ -246,7 +246,7 @@ void init_translation()
monStr2monId["mon_chud"] = mon_chud; monStr2monId["mon_one_eye"] = mon_one_eye; monStr2monId["mon_crawler"] = mon_crawler;
monStr2monId["mon_sewer_fish"] = mon_sewer_fish; monStr2monId["mon_sewer_snake"] = mon_sewer_snake; monStr2monId["mon_sewer_rat"] = mon_sewer_rat; monStr2monId["mon_rat_king"] = mon_rat_king;
monStr2monId["mon_mosquito"] = mon_mosquito; monStr2monId["mon_dragonfly"] = mon_dragonfly; monStr2monId["mon_centipede"] = mon_centipede; monStr2monId["mon_frog"] = mon_frog; monStr2monId["mon_slug"] = mon_slug;
monStr2monId["mon_dermatik_larva"] = mon_dermatik_larva; monStr2monId["mon_dermatik"] = mon_dermatik;
monStr2monId["mon_dermatik_larva"] = mon_dermatik_larva; monStr2monId["mon_dermatik"] = mon_dermatik; monStr2monId["mon_giant_crayfish"] = mon_giant_crayfish;
monStr2monId["mon_jabberwock"] = mon_jabberwock;
monStr2monId["mon_spider_wolf"] = mon_spider_wolf; monStr2monId["mon_spider_web"] = mon_spider_web; monStr2monId["mon_spider_jumping"] = mon_spider_jumping; monStr2monId["mon_spider_trapdoor"] = mon_spider_trapdoor;
monStr2monId["mon_spider_widow"] = mon_spider_widow;
Expand Down
4 changes: 2 additions & 2 deletions mtype.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ num_species
enum mon_id {
mon_null = 0,
// Wildlife
mon_squirrel, mon_rabbit, mon_deer, mon_moose, mon_wolf, mon_coyote, mon_bear, mon_cougar, mon_crow,
mon_squirrel, mon_rabbit, mon_deer, mon_moose, mon_wolf, mon_coyote, mon_bear, mon_cougar, mon_crow, mon_turkey, mon_raccoon, mon_opossum, mon_rattlesnake,
// Friendly animals
mon_dog, mon_cat,
// Ants
Expand Down Expand Up @@ -69,7 +69,7 @@ mon_chud, mon_one_eye, mon_crawler,
mon_sewer_fish, mon_sewer_snake, mon_sewer_rat, mon_rat_king,
// Swamp monsters
mon_mosquito, mon_dragonfly, mon_centipede, mon_frog, mon_slug,
mon_dermatik_larva, mon_dermatik,
mon_dermatik_larva, mon_dermatik, mon_giant_crayfish,
// SPIDERS
mon_spider_wolf, mon_spider_web, mon_spider_jumping, mon_spider_trapdoor,
mon_spider_widow,
Expand Down
54 changes: 54 additions & 0 deletions mtypedef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,49 @@ PLACATE(MTRIG_MEAT);
FEARS(MTRIG_FIRE, MTRIG_FRIEND_DIED);
CATEGORIES(MC_WILDLIFE);

mon(_("turkey"), species_mammal, 't', c_brown, MS_MEDIUM, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
10,-99, -8,140, 0, 1, 1, 0, 3, 0, 0, 0, 4, 0,
&mdeath::normal, &mattack::none, _("\
A large and colorful game bird native to the forests of North America.")
);
FLAGS(MF_SEES, MF_HEARS, MF_SMELLS, MF_ANIMAL, MF_WARM, MF_FLIES, MF_VIS50, MF_BONES, MF_FEATHER);
FEARS(MTRIG_FIRE, MTRIG_FRIEND_DIED, MTRIG_HURT);
CATEGORIES(MC_WILDLIFE);

mon(_("raccoon"), species_mammal, 'r', c_dkgray, MS_TINY, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
10, -99, 10,130, 1, 1, 3, 1, 3, 0, 0, 0, 3, 0,
&mdeath::normal, &mattack::none, _("\
A small mammal native to North America, distinctive for its dexterous paws and facial markings.")
);
FLAGS(MF_SEES, MF_HEARS, MF_SMELLS, MF_ANIMAL, MF_WARM, MF_FUR, MF_KEENNOSE, MF_BLEED, MF_BONES, MF_VIS50);
ANGER(MTRIG_FRIEND_ATTACKED, MTRIG_HURT);
FEARS(MTRIG_FIRE, MTRIG_FRIEND_DIED);
CATEGORIES(MC_WILDLIFE);

mon(_("opossum"), species_mammal, 'o', c_white, MS_TINY, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
10, -99, 10,110, 0, 1, 3, 1, 2, 0, 0, 0, 2, 0,
&mdeath::normal, &mattack::none, _("\
A small, omnivorous marsupial native to North America.")
);
FLAGS(MF_SEES, MF_HEARS, MF_SMELLS, MF_ANIMAL, MF_WARM, MF_FUR, MF_KEENNOSE, MF_BLEED, MF_BONES, MF_VIS50);
ANGER(MTRIG_FRIEND_ATTACKED, MTRIG_HURT);
FEARS(MTRIG_FIRE, MTRIG_FRIEND_DIED, MTRIG_HURT);
CATEGORIES(MC_WILDLIFE);

mon(_("rattlesnake"),species_none, 's', c_brown, MS_TINY, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
2, 0, 40, 90, 12, 1, 2, 5, 1, 0, 0, 0, 2, 0,
&mdeath::normal, &mattack::none, _("\
An eastern timber rattlesnake, one of New England's most poisonous snakes.")
);
FLAGS(MF_SEES, MF_HEARS, MF_SMELLS, MF_BADVENOM, MF_HARDTOSHOOT, MF_SWIMS, MF_LEATHER, MF_VIS30, MF_BONES);
ANGER(MTRIG_PLAYER_CLOSE, MTRIG_HURT);
FEARS(MTRIG_FIRE, MTRIG_HURT);
CATEGORIES(MC_WILDLIFE);

mon(_("bear"), species_mammal, 'B', c_dkgray, MS_LARGE, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
10,-10, 40,140, 10, 3, 4, 6, 3, 2, 0, 0, 90, 0,
Expand Down Expand Up @@ -922,6 +965,17 @@ place of a sting.")
);
FLAGS(MF_HEARS, MF_SMELLS, MF_STUMBLES, MF_POISON, MF_FLIES, MF_CHITIN);

mon(_("giant crayfish"),species_none, 'c',c_red, MS_MEDIUM, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
9, 0,100,130, 10, 1, 3, 5, 2, 0, 8, 0, 50, 0,
&mdeath::normal, &mattack::none, _("\
A massive, mutated freshwater shellfish,\n\
resembling a humongous lobster.")
);
FLAGS(MF_SMELLS, MF_HEARS, MF_SEES, MF_CHITIN, MF_SWIMS, MF_ATTACKMON, MF_GRABS);
ANGER(MTRIG_PLAYER_CLOSE, MTRIG_HURT);
FEARS(MTRIG_FIRE);

// SPIDERS
mon(_("wolf spider"),species_insect, 's', c_brown, MS_MEDIUM, "flesh",
// dif agr mor spd msk mdi m## cut dge bsh cut itm HP special freq
Expand Down
2 changes: 1 addition & 1 deletion player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4706,7 +4706,7 @@ void player::suffer(game *g)

if (power_armored && has_helmet) {
radiation += 0; // Power armor protects completely from radiation
} else if (power_armored || is_wearing("hazmat_suit")) {
} else if (power_armored || is_wearing("hazmat_suit")|| is_wearing("aep_suit")) {
radiation += rng(0, localRadiation / 40);
} else {
radiation += rng(0, localRadiation / 16);
Expand Down
5 changes: 5 additions & 0 deletions tile_id_data.h
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,10 @@ const std::string monster_names[num_monsters] =
toString(mon_moose),
toString(mon_wolf),
toString(mon_coyote),
toString(mon_turkey),
toString(mon_raccoon),
toString(mon_opossum),
toString(mon_rattlesnake),
toString(mon_bear),
toString(mon_cougar),
toString(mon_crow),
Expand Down Expand Up @@ -359,6 +363,7 @@ const std::string monster_names[num_monsters] =
toString(mon_slug),
toString(mon_dermatik_larva),
toString(mon_dermatik),
toString(mon_giant_crayfish),

toString(mon_spider_wolf),
toString(mon_spider_web),
Expand Down

0 comments on commit b667b78

Please sign in to comment.