Skip to content

Commit

Permalink
Fixed compile errors
Browse files Browse the repository at this point in the history
  • Loading branch information
Inglonias committed Feb 10, 2024
1 parent 7cb5b62 commit d0f7846
Showing 1 changed file with 36 additions and 28 deletions.
64 changes: 36 additions & 28 deletions src/monster.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,40 @@ static int compute_kill_xp( const mtype_id &mon_type )
return mon_type->difficulty + mon_type->difficulty_base;
}

// adjusts damage unit depending on type by enchantments.
static void armor_enchantment_adjust(monster& mon, damage_unit& du)
{
// FIXME: hardcoded damage types -> enchantments
if (du.type == STATIC(damage_type_id("acid"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_ACID);
}
else if (du.type == STATIC(damage_type_id("bash"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_BASH);
}
else if (du.type == STATIC(damage_type_id("biological"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_BIO);
}
else if (du.type == STATIC(damage_type_id("cold"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_COLD);
}
else if (du.type == STATIC(damage_type_id("cut"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_CUT);
}
else if (du.type == STATIC(damage_type_id("electric"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_ELEC);
}
else if (du.type == STATIC(damage_type_id("heat"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_HEAT);
}
else if (du.type == STATIC(damage_type_id("stab"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_STAB);
}
else if (du.type == STATIC(damage_type_id("bullet"))) {
du.amount = mon.calculate_by_enchantment(du.amount, enchant_vals::mod::ARMOR_BULLET);
}
du.amount = std::max(0.0f, du.amount);
}

monster::monster()
{
unset_dest();
Expand Down Expand Up @@ -3179,8 +3213,8 @@ void monster::process_effects()
}
}
//Apply enchantment modifiers
regeneration_amount = calculate_by_enchantment( regeneration_amount, enchant_vals::mod::REGEN_HP,
true )
regeneration_amount = calculate_by_enchantment(regeneration_amount, enchant_vals::mod::REGEN_HP,
true);
//Prevent negative regeneration
if( regeneration_amount < 0 ) {
regeneration_amount = 0;
Expand Down Expand Up @@ -3994,29 +4028,3 @@ double monster::calculate_by_enchantment( double modify, enchant_vals::mod value
}
return modify;
}

// adjusts damage unit depending on type by enchantments.
static void armor_enchantment_adjust( monster &mon, damage_unit &du )
{
// FIXME: hardcoded damage types -> enchantments
if( du.type == STATIC( damage_type_id( "acid" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_ACID );
} else if( du.type == STATIC( damage_type_id( "bash" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_BASH );
} else if( du.type == STATIC( damage_type_id( "biological" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_BIO );
} else if( du.type == STATIC( damage_type_id( "cold" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_COLD );
} else if( du.type == STATIC( damage_type_id( "cut" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_CUT );
} else if( du.type == STATIC( damage_type_id( "electric" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_ELEC );
} else if( du.type == STATIC( damage_type_id( "heat" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_HEAT );
} else if( du.type == STATIC( damage_type_id( "stab" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_STAB );
} else if( du.type == STATIC( damage_type_id( "bullet" ) ) ) {
du.amount = mon.calculate_by_enchantment( du.amount, enchant_vals::mod::ARMOR_BULLET );
}
du.amount = std::max( 0.0f, du.amount );
}

0 comments on commit d0f7846

Please sign in to comment.