mirror of
https://github.com/SWG-Source/dsrc.git
synced 2026-07-13 22:01:04 -04:00
Handled weapon without weapon data when calculating crit modifier
This commit is contained in:
@@ -3329,54 +3329,55 @@ public class combat extends script.base_script
|
||||
dr_critMod += ((float)getEnhancedSkillStatisticModifierUncapped(attacker, "combat_critical_melee") / 10.0f);
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_melee");
|
||||
}
|
||||
switch (weaponData.weaponType)
|
||||
{
|
||||
case WEAPON_TYPE_PISTOL:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_pistol");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_pistol");
|
||||
break;
|
||||
case WEAPON_TYPE_RIFLE:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_rifle");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_rifle");
|
||||
break;
|
||||
case WEAPON_TYPE_LIGHT_RIFLE:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_carbine");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_carbine");
|
||||
break;
|
||||
case WEAPON_TYPE_HEAVY:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_GROUND_TARGETTING:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_DIRECTIONAL:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_1HAND_MELEE:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_1h");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_1h");
|
||||
break;
|
||||
case WEAPON_TYPE_2HAND_MELEE:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_2h");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_2h");
|
||||
break;
|
||||
case WEAPON_TYPE_UNARMED:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_unarmed");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_unarmed");
|
||||
break;
|
||||
case WEAPON_TYPE_POLEARM:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_polearm");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_polearm");
|
||||
break;
|
||||
case WEAPON_TYPE_WT_1HAND_LIGHTSABER:
|
||||
case WEAPON_TYPE_WT_2HAND_LIGHTSABER:
|
||||
case WEAPON_TYPE_WT_POLEARM_LIGHTSABER:
|
||||
dr_critMod2 += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_lightsaber");
|
||||
critMod += (float)getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_lightsaber");
|
||||
break;
|
||||
if(weaponData != null) {
|
||||
switch (weaponData.weaponType) {
|
||||
case WEAPON_TYPE_PISTOL:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_pistol");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_pistol");
|
||||
break;
|
||||
case WEAPON_TYPE_RIFLE:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_rifle");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_rifle");
|
||||
break;
|
||||
case WEAPON_TYPE_LIGHT_RIFLE:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_carbine");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_carbine");
|
||||
break;
|
||||
case WEAPON_TYPE_HEAVY:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_GROUND_TARGETTING:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_DIRECTIONAL:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_heavy");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_heavy");
|
||||
break;
|
||||
case WEAPON_TYPE_1HAND_MELEE:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_1h");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_1h");
|
||||
break;
|
||||
case WEAPON_TYPE_2HAND_MELEE:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_2h");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_2h");
|
||||
break;
|
||||
case WEAPON_TYPE_UNARMED:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_unarmed");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_unarmed");
|
||||
break;
|
||||
case WEAPON_TYPE_POLEARM:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_polearm");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_polearm");
|
||||
break;
|
||||
case WEAPON_TYPE_WT_1HAND_LIGHTSABER:
|
||||
case WEAPON_TYPE_WT_2HAND_LIGHTSABER:
|
||||
case WEAPON_TYPE_WT_POLEARM_LIGHTSABER:
|
||||
dr_critMod2 += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_critical_lightsaber");
|
||||
critMod += (float) getEnhancedSkillStatisticModifierUncapped(attacker, "expertise_undiminished_critical_lightsaber");
|
||||
break;
|
||||
}
|
||||
}
|
||||
dr_critMod = getDiminishedReturnValue(dr_critMod, DR_ATTACKER_CRITICAL);
|
||||
dr_critMod2 = getDiminishedReturnValue(dr_critMod2, DR_ATTACKER_CRITICAL_2);
|
||||
|
||||
Reference in New Issue
Block a user