/*********************** * !!!!!! If you move this file, you will need to change combat_engine.java !!!!!!!!!! **********************/ // max range we allow combat to happen in and max range melee range happens in have been moved to combat_engine.java because they are now GameServer configuration options // base to hit number const int toHitNumber = 75; // To Hit Consts const float baseToHit = 90.0f; const float maxToHit = 95.0f; const float minToHit = 60.0f; const float toHitScale = 50.0f; const float toHitStep = 5.0f; const float damageScale = 1500.0f; // mods for attacker aims DEPRACATED const int[] aimAttackMods = { 10, 25, 45 }; // these values are multiplied times any attacker locomotion mod for the attacker's weapon type const float[] weaponTypeAttackLocomotionMultipliers = { 2.5f, // WEAPON_TYPE_RIFLE 2.0f, // WEAPON_TYPE_LIGHT_RIFLE 1.5f, // WEAPON_TYPE_PISTOL 3.0f, // WEAPON_TYPE_HEAVY 1.0f, // WEAPON_TYPE_1HAND_MELEE 1.0f, // WEAPON_TYPE_2HAND_MELEE 1.0f, // WEAPON_TYPE_UNARMED 1.0f, // WEAPON_TYPE_POLEARM 1.0f, // WEAPON_TYPE_THROWN 1.0f, // WEAPON_TYPE_WT_1HAND_LIGHTSABER 1.0f, // WEAPON_TYPE_WT_2HAND_LIGHTSABER 1.0f // WEAPON_TYPE_WT_POLEARM_LIGHTSABER }; //attack locomotion mod defnitions const int RANGED_STANDING_ATTACK_MOD = 0; const int RANGED_SNEAKING_ATTACK_MOD = -6; const int RANGED_WALKING_ATTACK_MOD = -40; const int RANGED_RUNNING_ATTACK_MOD = -60; const int RANGED_KNEELING_ATTACK_MOD = 15; const int RANGED_CROUCH_SNEAKING_ATTACK_MOD = 0; const int RANGED_CROUCH_WALKING_ATTACK_MOD = 0; const int RANGED_PRONE_ATTACK_MOD = 30; const int RANGED_CRAWLING_ATTACK_MOD = -80; const int RANGED_CLIMBING_STATIONARY_ATTACK_MOD = 0; const int RANGED_CLIMBING_ATTACK_MOD = 0; const int RANGED_FLOATING_ATTACK_MOD = 0; const int RANGED_SWIMMING_SURFACE_ATTACK_MOD = 0; const int RANGED_SWIMMING_UNDERWATER_ATTACK_MOD = 0; const int RANGED_HOVERING_ATTACK_MOD = 0; const int RANGED_FLYING_ATTACK_MOD = -10; const int RANGED_LYING_DOWN_ATTACK_MOD = 0; const int RANGED_SITTING_ATTACK_MOD = 0; const int RANGED_SKILL_ANIMATING_ATTACK_MOD = 0; const int RANGED_DRIVING_VEHICLE_ATTACK_MOD = 0; const int RANGED_RIDING_CREATURE_ATTACK_MOD = 0; const int RANGED_KNOCKED_DOWN_ATTACK_MOD = 0; const int RANGED_INCAPACITATED_ATTACK_MOD = 0; const int RANGED_BLOCKING_ATTACK_MOD = 0; const int RANGED_DEAD_ATTACK_MOD = 0; // attack mods for attacker motion const int[] rangedLocomotionAttackMod = { RANGED_STANDING_ATTACK_MOD, RANGED_SNEAKING_ATTACK_MOD, RANGED_WALKING_ATTACK_MOD, RANGED_RUNNING_ATTACK_MOD, RANGED_KNEELING_ATTACK_MOD, RANGED_CROUCH_SNEAKING_ATTACK_MOD, RANGED_CROUCH_WALKING_ATTACK_MOD, RANGED_PRONE_ATTACK_MOD, RANGED_CRAWLING_ATTACK_MOD, RANGED_CLIMBING_STATIONARY_ATTACK_MOD, RANGED_CLIMBING_ATTACK_MOD, RANGED_FLOATING_ATTACK_MOD, RANGED_SWIMMING_SURFACE_ATTACK_MOD, RANGED_SWIMMING_UNDERWATER_ATTACK_MOD, RANGED_HOVERING_ATTACK_MOD, RANGED_FLYING_ATTACK_MOD, RANGED_LYING_DOWN_ATTACK_MOD, RANGED_SITTING_ATTACK_MOD, RANGED_SKILL_ANIMATING_ATTACK_MOD, RANGED_DRIVING_VEHICLE_ATTACK_MOD, RANGED_RIDING_CREATURE_ATTACK_MOD, RANGED_KNOCKED_DOWN_ATTACK_MOD, RANGED_INCAPACITATED_ATTACK_MOD, RANGED_DEAD_ATTACK_MOD, RANGED_BLOCKING_ATTACK_MOD }; //defense const locomotion mods const int RANGED_STANDING_DEFENSE_MOD = -10; const int RANGED_SNEAKING_DEFENSE_MOD = 5; const int RANGED_WALKING_DEFENSE_MOD = 25; const int RANGED_RUNNING_DEFENSE_MOD = 45; const int RANGED_KNEELING_DEFENSE_MOD = 0; const int RANGED_CROUCH_SNEAKING_DEFENSE_MOD = 0; const int RANGED_CROUCH_WALKING_DEFENSE_MOD = 0; const int RANGED_PRONE_DEFENSE_MOD = 25; const int RANGED_CRAWLING_DEFENSE_MOD = 5; const int RANGED_CLIMBING_STATIONARY_DEFENSE_MOD = 0; const int RANGED_CLIMBING_DEFENSE_MOD = 0; const int RANGED_FLOATING_DEFENSE_MOD = 0; const int RANGED_SWIMMING_SURFACE_DEFENSE_MOD = 0; const int RANGED_SWIMMING_UNDERWATER_DEFENSE_MOD = 0; const int RANGED_HOVERING_DEFENSE_MOD = -5; const int RANGED_FLYING_DEFENSE_MOD = -10; const int RANGED_LYING_DOWN_DEFENSE_MOD = 0; const int RANGED_SITTING_DEFENSE_MOD = 0; const int RANGED_SKILL_ANIMATING_DEFENSE_MOD = 0; const int RANGED_DRIVING_VEHICLE_DEFENSE_MOD = 0; const int RANGED_RIDING_CREATURE_DEFENSE_MOD = 0; const int RANGED_KNOCKED_DOWN_DEFENSE_MOD = -15; const int RANGED_INCAPACITATED_DEFENSE_MOD = 0; const int RANGED_DEAD_DEFENSE_MOD = 0; const int RANGED_BLOCKING_DEFENSE_MOD = 0; // defense mods for defender motion const int[] rangedLocomotionDefenseMod = { RANGED_STANDING_DEFENSE_MOD, RANGED_SNEAKING_DEFENSE_MOD, RANGED_WALKING_DEFENSE_MOD, RANGED_RUNNING_DEFENSE_MOD, RANGED_KNEELING_DEFENSE_MOD, RANGED_CROUCH_SNEAKING_DEFENSE_MOD, RANGED_CROUCH_WALKING_DEFENSE_MOD, RANGED_PRONE_DEFENSE_MOD, RANGED_CRAWLING_DEFENSE_MOD, RANGED_CLIMBING_STATIONARY_DEFENSE_MOD, RANGED_CLIMBING_DEFENSE_MOD, RANGED_FLOATING_DEFENSE_MOD, RANGED_SWIMMING_SURFACE_DEFENSE_MOD, RANGED_SWIMMING_UNDERWATER_DEFENSE_MOD, RANGED_HOVERING_DEFENSE_MOD, RANGED_FLYING_DEFENSE_MOD, RANGED_LYING_DOWN_DEFENSE_MOD, RANGED_SITTING_DEFENSE_MOD, RANGED_SKILL_ANIMATING_DEFENSE_MOD, RANGED_DRIVING_VEHICLE_DEFENSE_MOD, RANGED_RIDING_CREATURE_DEFENSE_MOD, RANGED_KNOCKED_DOWN_DEFENSE_MOD, RANGED_INCAPACITATED_DEFENSE_MOD, RANGED_DEAD_DEFENSE_MOD, RANGED_BLOCKING_DEFENSE_MOD }; //attack locomotion mod defnitions const int MELEE_STANDING_ATTACK_MOD = 0; const int MELEE_SNEAKING_ATTACK_MOD = -20; const int MELEE_WALKING_ATTACK_MOD = 10; const int MELEE_RUNNING_ATTACK_MOD = 25; const int MELEE_KNEELING_ATTACK_MOD = -20; const int MELEE_CROUCH_SNEAKING_ATTACK_MOD = 0; const int MELEE_CROUCH_WALKING_ATTACK_MOD = 0; const int MELEE_PRONE_ATTACK_MOD = -90; const int MELEE_CRAWLING_ATTACK_MOD = -90; const int MELEE_CLIMBING_STATIONARY_ATTACK_MOD = 0; const int MELEE_CLIMBING_ATTACK_MOD = 0; const int MELEE_FLOATING_ATTACK_MOD = 0; const int MELEE_SWIMMING_SURFACE_ATTACK_MOD = 0; const int MELEE_SWIMMING_UNDERWATER_ATTACK_MOD = 0; const int MELEE_HOVERING_ATTACK_MOD = 0; const int MELEE_FLYING_ATTACK_MOD = -10; const int MELEE_LYING_DOWN_ATTACK_MOD = 0; const int MELEE_SITTING_ATTACK_MOD = 0; const int MELEE_SKILL_ANIMATING_ATTACK_MOD = 0; const int MELEE_DRIVING_VEHICLE_ATTACK_MOD = 0; const int MELEE_RIDING_CREATURE_ATTACK_MOD = 0; const int MELEE_KNOCKED_DOWN_ATTACK_MOD = 0; const int MELEE_INCAPACITATED_ATTACK_MOD = 0; const int MELEE_BLOCKING_ATTACK_MOD = 0; const int MELEE_DEAD_ATTACK_MOD = 0; // attack mods for attacker motion const int[] meleeLocomotionAttackMod = { MELEE_STANDING_ATTACK_MOD, MELEE_SNEAKING_ATTACK_MOD, MELEE_WALKING_ATTACK_MOD, MELEE_RUNNING_ATTACK_MOD, MELEE_KNEELING_ATTACK_MOD, MELEE_CROUCH_SNEAKING_ATTACK_MOD, MELEE_CROUCH_WALKING_ATTACK_MOD, MELEE_PRONE_ATTACK_MOD, MELEE_CRAWLING_ATTACK_MOD, MELEE_CLIMBING_STATIONARY_ATTACK_MOD, MELEE_CLIMBING_ATTACK_MOD, MELEE_FLOATING_ATTACK_MOD, MELEE_SWIMMING_SURFACE_ATTACK_MOD, MELEE_SWIMMING_UNDERWATER_ATTACK_MOD, MELEE_HOVERING_ATTACK_MOD, MELEE_FLYING_ATTACK_MOD, MELEE_LYING_DOWN_ATTACK_MOD, MELEE_SITTING_ATTACK_MOD, MELEE_SKILL_ANIMATING_ATTACK_MOD, MELEE_DRIVING_VEHICLE_ATTACK_MOD, MELEE_RIDING_CREATURE_ATTACK_MOD, MELEE_KNOCKED_DOWN_ATTACK_MOD, MELEE_INCAPACITATED_ATTACK_MOD, MELEE_DEAD_ATTACK_MOD, MELEE_BLOCKING_ATTACK_MOD }; //defense const locomotion mods const int MELEE_STANDING_DEFENSE_MOD = 0; const int MELEE_SNEAKING_DEFENSE_MOD = 0; const int MELEE_WALKING_DEFENSE_MOD = 10; const int MELEE_RUNNING_DEFENSE_MOD = 25; const int MELEE_KNEELING_DEFENSE_MOD = -20; const int MELEE_CROUCH_SNEAKING_DEFENSE_MOD = 0; const int MELEE_CROUCH_WALKING_DEFENSE_MOD = 0; const int MELEE_PRONE_DEFENSE_MOD = -80; const int MELEE_CRAWLING_DEFENSE_MOD = -95; const int MELEE_CLIMBING_STATIONARY_DEFENSE_MOD = 0; const int MELEE_CLIMBING_DEFENSE_MOD = 0; const int MELEE_FLOATING_DEFENSE_MOD = 0; const int MELEE_SWIMMING_SURFACE_DEFENSE_MOD = 0; const int MELEE_SWIMMING_UNDERWATER_DEFENSE_MOD = 0; const int MELEE_HOVERING_DEFENSE_MOD = -5; const int MELEE_FLYING_DEFENSE_MOD = -40; const int MELEE_LYING_DOWN_DEFENSE_MOD = 0; const int MELEE_SITTING_DEFENSE_MOD = 0; const int MELEE_SKILL_ANIMATING_DEFENSE_MOD = 0; const int MELEE_DRIVING_VEHICLE_DEFENSE_MOD = 0; const int MELEE_RIDING_CREATURE_DEFENSE_MOD = 0; const int MELEE_KNOCKED_DOWN_DEFENSE_MOD = -15; const int MELEE_INCAPACITATED_DEFENSE_MOD = 0; const int MELEE_DEAD_DEFENSE_MOD = 0; const int MELEE_BLOCKING_DEFENSE_MOD = 0; // defense mods for defender motion const int[] meleeLocomotionDefenseMod = { MELEE_STANDING_DEFENSE_MOD, MELEE_SNEAKING_DEFENSE_MOD, MELEE_WALKING_DEFENSE_MOD, MELEE_RUNNING_DEFENSE_MOD, MELEE_KNEELING_DEFENSE_MOD, MELEE_CROUCH_SNEAKING_DEFENSE_MOD, MELEE_CROUCH_WALKING_DEFENSE_MOD, MELEE_PRONE_DEFENSE_MOD, MELEE_CRAWLING_DEFENSE_MOD, MELEE_CLIMBING_STATIONARY_DEFENSE_MOD, MELEE_CLIMBING_DEFENSE_MOD, MELEE_FLOATING_DEFENSE_MOD, MELEE_SWIMMING_SURFACE_DEFENSE_MOD, MELEE_SWIMMING_UNDERWATER_DEFENSE_MOD, MELEE_HOVERING_DEFENSE_MOD, MELEE_FLYING_DEFENSE_MOD, MELEE_LYING_DOWN_DEFENSE_MOD, MELEE_SITTING_DEFENSE_MOD, MELEE_SKILL_ANIMATING_DEFENSE_MOD, MELEE_DRIVING_VEHICLE_DEFENSE_MOD, MELEE_RIDING_CREATURE_DEFENSE_MOD, MELEE_KNOCKED_DOWN_DEFENSE_MOD, MELEE_INCAPACITATED_DEFENSE_MOD, MELEE_DEAD_DEFENSE_MOD, MELEE_BLOCKING_DEFENSE_MOD }; const int[][] locomotionAttackMod = { meleeLocomotionAttackMod, rangedLocomotionAttackMod, rangedLocomotionAttackMod, rangedLocomotionAttackMod }; const int[][] locomotionDefenseMod = { meleeLocomotionDefenseMod, rangedLocomotionDefenseMod, rangedLocomotionDefenseMod, rangedLocomotionDefenseMod };