Skip to content

Commit 7726f56

Browse files
Humaniforms can execute humanoid monsters (#81869)
Co-authored-by: John Candlebury <[email protected]>
1 parent 4abbc9b commit 7726f56

File tree

3 files changed

+60
-12
lines changed

3 files changed

+60
-12
lines changed

data/mods/Aftershock/mobs/robots.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,8 +305,7 @@
305305
"NO_BREATHE",
306306
"PRIORITIZE_TARGETS",
307307
"GOODHEARING",
308-
"PATH_AVOID_DANGER",
309-
"HIT_AND_RUN"
308+
"PATH_AVOID_DANGER"
310309
],
311310
"//": "Much lower armor than usual since this is a player allied robot only.",
312311
"armor": { "bash": 8, "cut": 10, "bullet": 15 }

data/mods/aftershock_exoplanet/monster_attacks/monster_attacks.json

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,61 @@
1212
"no_dmg_msg_u": "%1$s tries to inject you, but fails to penetrate your armor!",
1313
"no_dmg_msg_npc": "%1$s tries to inject <npcname>, but fails to penetrate their armor!"
1414
},
15+
{
16+
"type": "monster_attack",
17+
"attack_type": "melee",
18+
"id": "android_drop",
19+
"cooldown": 10,
20+
"move_cost": 100,
21+
"hitsize_min": 4,
22+
"attack_upper": false,
23+
"condition": {
24+
"and": [
25+
{ "not": { "npc_has_effect": "downed" } },
26+
{ "math": [ "u_val('size') + 1 >= n_val('size')" ] },
27+
{ "not": { "u_has_effect": "afs_android_crawling" } }
28+
]
29+
},
30+
"damage_max_instance": [ { "damage_type": "bash", "amount": 18, "armor_penetration": 15 } ],
31+
"effects_require_dmg": true,
32+
"hit_dmg_u": "%1$s lifts you with its arm and slams you into the ground!",
33+
"hit_dmg_npc": "%1$s effortlessly lifts <npcname> before slamming them into the ground!",
34+
"no_dmg_msg_u": "%1$s tries to grab you, but finds no grip on your armor!",
35+
"no_dmg_msg_npc": "%1$s tries to grab <npcname>, but finds no grip on their armor!",
36+
"miss_msg_u": "%s reaches for you with its arm, but you slip out of the way!",
37+
"miss_msg_npc": "%s tries to grab <npcname>, but they slip out of the way!",
38+
"effects": [ { "id": "downed", "duration": 3 } ]
39+
},
1540
{
1641
"type": "monster_attack",
1742
"attack_type": "melee",
1843
"id": "android_crush",
1944
"cooldown": 5,
2045
"move_cost": 80,
2146
"damage_max_instance": [ { "damage_type": "bash", "amount": 30, "armor_penetration": 15 } ],
47+
"condition": { "and": [ { "npc_has_effect": "downed" }, { "not": { "u_has_effect": "afs_android_crawling" } }, "npc_is_character" ] },
48+
"min_mul": 0.3,
49+
"hit_dmg_u": "%1$s crushes your %2$s with a vicious stomp!",
50+
"hit_dmg_npc": "%1$s crushes <npcname> underfoot!",
51+
"no_dmg_msg_u": "%1$s's attempt to crush your %2$s is deflected by your armor.",
52+
"no_dmg_msg_npc": "%1$s's attempt to crush <npcname> is deflected by their armor.",
53+
"miss_msg_u": "You roll out of the way of %1$s's stomp!",
54+
"miss_msg_npc": "<npcname> rolls out of the way of %1$s's stomp!"
55+
},
56+
{
57+
"type": "monster_attack",
58+
"attack_type": "melee",
59+
"id": "android_crush_monster",
60+
"cooldown": 1,
61+
"move_cost": 80,
62+
"damage_max_instance": [ { "damage_type": "bash", "amount": 1200, "armor_penetration": 15 } ],
2263
"condition": {
23-
"and": [ { "u_has_flag": "GRAB_FILTER" }, { "npc_has_effect": "downed" }, { "u_has_effect": "afs_android_crawling" } ]
64+
"and": [
65+
{ "npc_has_effect": "downed" },
66+
{ "not": { "u_has_effect": "afs_android_crawling" } },
67+
"npc_is_monster",
68+
{ "math": [ "u_val('size') + 1 >= n_val('size')" ] }
69+
]
2470
},
2571
"min_mul": 0.3,
2672
"hit_dmg_u": "%1$s crushes your %2$s with a vicious stomp!",

data/mods/aftershock_exoplanet/monsters/robots.json

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -268,14 +268,15 @@
268268
"id": "afs_mon_sentinel_lx",
269269
"type": "MONSTER",
270270
"name": { "str": "Wraitheon Sentinel-lx", "str_pl": "Wraitheon Sentinels-lx" },
271-
"description": "Its exterior plates are sable and gold, this luxurious variant of a Wraitheon drone was once kept as a bodyguard by society's wealthiest. Still with its wrist sword extended, it resembles an ancient knight, standing an eternal watch.",
271+
"description": "Clad in sable and gold armor, this luxurious combat humaniform is intended to serve as a bodyguard to society's wealthiest. Still with its wrist sword extended, it resembles an ancient knight, standing an eternal watch.",
272272
"default_faction": "WraitheonRobotics",
273273
"species": [ "ROBOT" ],
274274
"diff": 10,
275275
"volume": "62500 ml",
276276
"weight": "81500 g",
277277
"hp": 200,
278278
"speed": 100,
279+
"bleed_rate": 0,
279280
"material": [ "steel" ],
280281
"symbol": "R",
281282
"color": "light_gray",
@@ -285,20 +286,22 @@
285286
"melee_dice": 4,
286287
"melee_dice_sides": 5,
287288
"melee_dice_ap": 4,
288-
"melee_damage": [ { "damage_type": "cut", "amount": 5 } ],
289+
"melee_damage": [ { "damage_type": "cut", "amount": 10 } ],
289290
"dodge": 8,
290291
"vision_day": 6,
291292
"vision_night": 6,
292293
"path_settings": { "max_dist": 6, "avoid_traps": true, "avoid_sharp": true },
293294
"revert_to_itype": "bot_sentinel_lx",
294295
"special_attacks": [
296+
{ "id": "android_crush", "cooldown": 1 },
297+
{ "id": "android_crush_monster", "cooldown": 1 },
298+
{ "id": "android_drop", "cooldown": 2 },
295299
[ "SMASH", 20 ],
296-
[ "TAZER", 5 ],
297300
{
298301
"type": "gun",
299302
"cooldown": 15,
300303
"gun_type": "afs_sentinel_laser_mon",
301-
"ranges": [ [ 0, 12, "DEFAULT" ] ],
304+
"ranges": [ [ 3, 12, "DEFAULT" ] ],
302305
"targeting_sound": "\"Dispatching hostile with lethal force.\"",
303306
"require_targeting_npc": true,
304307
"require_targeting_monster": true,
@@ -316,8 +319,7 @@
316319
"NO_BREATHE",
317320
"PRIORITIZE_TARGETS",
318321
"GOODHEARING",
319-
"PATH_AVOID_DANGER",
320-
"HIT_AND_RUN"
322+
"PATH_AVOID_DANGER"
321323
],
322324
"//": "Much lower armor than usual since this is a player allied robot only.",
323325
"armor": { "bash": 8, "cut": 10, "bullet": 15 }
@@ -690,6 +692,7 @@
690692
"melee_dice": 4,
691693
"melee_dice_sides": 5,
692694
"melee_dice_ap": 4,
695+
"bleed_rate": 0,
693696
"starting_ammo": { "afs_7.50mm_caseless": 90 },
694697
"vision_day": 50,
695698
"vision_night": 50,
@@ -716,15 +719,15 @@
716719
"targeting_sound": "\"Hostile Detected.\"",
717720
"targeting_volume": 10
718721
},
719-
{ "id": "grab", "cooldown": 7 },
720722
{
721723
"id": "smash",
722724
"throw_strength": 48,
723725
"cooldown": 30,
724726
"condition": { "not": { "u_has_effect": "afs_android_crawling" } }
725727
},
726-
{ "id": "android_crush", "cooldown": 3 },
727-
{ "id": "leg_sweep", "cooldown": 2 }
728+
{ "id": "android_crush", "cooldown": 1 },
729+
{ "id": "android_crush_monster", "cooldown": 1 },
730+
{ "id": "android_drop", "cooldown": 2 }
728731
],
729732
"extend": { "flags": [ "DROPS_AMMO" ] },
730733
"broken_itype": "broken_imaginifer",

0 commit comments

Comments
 (0)