Skip to content

Commit

Permalink
Merge pull request #75145 from Karol1223/copy-for-the-wolf
Browse files Browse the repository at this point in the history
Chain zombie wolves to zombie dogs through ``copy-from`` + Remove ``HOWL`` special attack
  • Loading branch information
Maleclypse authored Jul 22, 2024
2 parents fae8657 + fe05ff4 commit d09c6c1
Show file tree
Hide file tree
Showing 7 changed files with 6 additions and 82 deletions.
1 change: 0 additions & 1 deletion data/json/monsters/insect_spider.json
Original file line number Diff line number Diff line change
Expand Up @@ -1744,7 +1744,6 @@
"weight": "815 kg",
"melee_dice": 2,
"dissect": "dissect_spider_sample_large",
"special_attacks": [ [ "HOWL", 10 ] ],
"zombify_into": "mon_meat_cocoon_large",
"extend": { "flags": [ "DESTROYS", "PUSH_MON", "PUSH_VEH" ] }
},
Expand Down
17 changes: 3 additions & 14 deletions data/json/monsters/zanimal_upgrade.json
Original file line number Diff line number Diff line change
Expand Up @@ -183,34 +183,23 @@
"name": { "str": "skeletal wolf", "str_pl": "skeletal wolves" },
"description": "This undead canine has shed all of its skin, revealing a carapace of fused bones and ribs.",
"looks_like": "mon_dog_skeleton",
"default_faction": "zombie",
"bodytype": "dog",
"species": [ "ZOMBIE" ],
"volume": "30000 ml",
"weight": "40750 g",
"copy-from": "mon_zolf",
"hp": 18,
"speed": 100,
"material": [ "bone" ],
"symbol": "d",
"color": "white",
"scents_tracked": [ "sc_human", "sc_fetid" ],
"aggression": 100,
"morale": 100,
"melee_skill": 4,
"melee_dice": 3,
"melee_dice_sides": 7,
"melee_damage": [ { "damage_type": "cut", "amount": 8 } ],
"grab_strength": 20,
"special_attacks": [ { "id": "bite_grab", "attack_upper": false, "cooldown": 5 }, { "id": "scratch_grab_required" } ],
"dodge": 4,
"weakpoint_sets": [ "wps_animal_quadruped", "wps_bone_armor" ],
"families": [ "prof_intro_biology", "prof_physiology", "prof_wp_zombie", "prof_wp_canine", "prof_wp_skeleton" ],
"bleed_rate": 50,
"vision_night": 3,
"harvest": "puppy_bones",
"upgrades": { "half_life": 42, "into": "mon_dog_skeleton_brute" },
"flags": [ "SEES", "HEARS", "NO_BREATHE", "REVIVES", "POISON", "FILTHY" ],
"armor": { "cut": 15, "stab": 30, "acid": 3, "bullet": 12, "electric": 3 }
"armor": { "cut": 15, "stab": 30, "acid": 3, "bullet": 12, "electric": 3 },
"extend": { "weakpoint_sets": [ "wps_bone_armor" ], "families": [ "prof_wp_skeleton" ] }
},
{
"id": "mon_zougar_hunter",
Expand Down
35 changes: 3 additions & 32 deletions data/json/monsters/zed-animal.json
Original file line number Diff line number Diff line change
Expand Up @@ -167,52 +167,23 @@
"type": "MONSTER",
"name": { "str": "grim howler" },
"description": "A zombified wolf. Its mouth oozes with a black substance, coating its vicious-looking white fangs.",
"default_faction": "zombie",
"bodytype": "dog",
"species": [ "ZOMBIE" ],
"volume": "30000 ml",
"weight": "40750 g",
"copy-from": "mon_zombie_dog",
"hp": 48,
"speed": 116,
"attack_cost": 116,
"material": [ "flesh" ],
"symbol": "w",
"scents_tracked": [ "sc_human", "sc_fetid" ],
"color": "green",
"aggression": 100,
"morale": 100,
"melee_skill": 5,
"melee_dice": 2,
"melee_dice_sides": 4,
"melee_damage": [ { "damage_type": "cut", "amount": 4 } ],
"dodge": 2,
"weakpoint_sets": [ "wps_animal_quadruped" ],
"families": [ "prof_intro_biology", "prof_physiology", "prof_wp_zombie", "prof_wp_canine" ],
"vision_night": 5,
"harvest": "zombie_fur",
"death_drops": "",
"grab_strength": 20,
"special_attacks": [
[ "HOWL", 10 ],
{ "id": "bite_grab", "attack_upper": false, "cooldown": 2, "infection_chance": 8 },
{ "id": "scratch_grab_required" }
],
"anger_triggers": [ "PLAYER_CLOSE", "HURT" ],
"upgrades": { "half_life": 42, "into_group": "GROUP_ZOLF_UPGRADE" },
"flags": [
"SEES",
"HEARS",
"SMELLS",
"STUMBLES",
"WARM",
"GRABS",
"KEENNOSE",
"BASHES",
"POISON",
"NO_BREATHE",
"REVIVES",
"FILTHY"
],
"armor": { "electric": 1 }
"extend": { "flags": [ "KEENNOSE" ] }
},
{
"id": "mon_zombear",
Expand Down
1 change: 0 additions & 1 deletion data/mods/Magiclysm/monsters/zombified_monsters.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
"dodge": 5,
"vision_night": 5,
"harvest": "zombie_fur",
"special_attacks": [ [ "HOWL", 10 ] ],
"fear_triggers": [ "FIRE" ],
"upgrades": { "half_life": 28, "into_group": "GROUP_ZOLF_UPGRADE" },
"flags": [ "SEES", "HEARS", "SMELLS", "STUMBLES", "WARM", "KEENNOSE", "BASHES", "POISON", "NO_BREATHE", "REVIVES", "FILTHY" ],
Expand Down
32 changes: 0 additions & 32 deletions src/monattack.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -724,38 +724,6 @@ bool mattack::shriek_stun( monster *z )
return true;
}

bool mattack::howl( monster *z )
{
Creature *target = z->attack_target();
if( target == nullptr ||
rl_dist( z->pos(), target->pos() ) > 4 ||
!z->sees( *target ) ) {
return false;
}

// It takes a while
z->mod_moves( -to_moves<int>( 2_seconds ) );
sounds::sound( z->pos(), 35, sounds::sound_t::alert, _( "an ear-piercing howl!" ), false, "shout",
"howl" );

// TODO: Make this use mon's faction when those are in
if( z->friendly != 0 ) {
for( monster &other : g->all_monsters() ) {
if( other.type != z->type ) {
continue;
}
// Quote KA101: Chance of friendlying other howlers in the area, I'd imagine:
// wolves use howls for communication and can convey that the ape is on Team Wolf.
if( one_in( 4 ) ) {
other.friendly = z->friendly;
break;
}
}
}

return true;
}

bool mattack::rattle( monster *z )
{
// TODO: Let it rattle at non-player friendlies
Expand Down
1 change: 0 additions & 1 deletion src/monattack.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ bool eat_food( monster *z );
bool shriek( monster *z );
bool shriek_alert( monster *z );
bool shriek_stun( monster *z );
bool howl( monster *z );
bool rattle( monster *z );
bool acid( monster *z );
bool acid_accurate( monster *z );
Expand Down
1 change: 0 additions & 1 deletion src/monstergenerator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,6 @@ void MonsterGenerator::init_attack()
add_hardcoded_attack( "SHRIEK_ALERT", mattack::shriek_alert );
add_hardcoded_attack( "SHRIEK_STUN", mattack::shriek_stun );
add_hardcoded_attack( "RATTLE", mattack::rattle );
add_hardcoded_attack( "HOWL", mattack::howl );
add_hardcoded_attack( "ACID", mattack::acid );
add_hardcoded_attack( "ACID_BARF", mattack::acid_barf );
add_hardcoded_attack( "ACID_ACCURATE", mattack::acid_accurate );
Expand Down

0 comments on commit d09c6c1

Please sign in to comment.