public String getSubjectGoreMessage(Living who, Attack attack, int hitLocation) { Living attacker = attack.attacker; Damage damage = attack.getMaxDamage(); int maxHp = Math.max(who.getMaxHp(), 1); int percentage = (int) ((damage.damage * 100) / maxHp); String location = who.getRace().getHitLocation(hitLocation); return "You are an insect, and just suffered " + percentage + "% of damage. "; /* if(percentage < 1) return "You hardly notice "+attacker.getPossessive()+"s "+attack.weapon.getObjectHitVerb(damage.type)+"."; else if(percentage < 2) return Print.capitalize(attacker.getPossessive())+"s "+attack.weapon.getName()+" bounces off your "+location+", causing minor damage."; else if(percentage < 3) return "The "+attack.weapon.getName()+" leaves a small bruise on your "+location+"."; else if(percentage < 4) return "A few scratches are left on your "+location+" by "+attacker.getPossessive()+"s "+attack.weapon.getHitNoun(damage.type)+"."; else if(percentage < 5) return "You flinch as "+attacker.getPossessive()+"s blow lands on your "+location+"."; else if(percentage < 6) return "The "+attack.weapon.getHitNoun(damage.type)+" connects with your "+location+" causing a small flesh wound."; else if(percentage < 7) return "Your "+attack.weapon.getObjectHitVerb(damage.type)+" at the "+who.getRace().getName()+"s "+location+" leaves a nasty bleeding wound."; else if(percentage < 9) return "You grunt as "+attacker.getPossessive()+" "+attack.weapon.getObjectHitVerb(damage.type)+" slices through your skin."; else if(percentage < 12) return "Skin and muscle is torn apart by the "+attacker.getRace().getName()+"s powerful "+attack.weapon.getObjectHitVerb(damage.type)+" to your "+location+"."; else if(percentage < 15) return Print.capitalize(attacker.getName())+" drives "+attacker.getPossessive()+" "+attack.weapon.getName()+" to your "+location+", severing tendons and major blood vessels."; else if(percentage < 20) return "You cry out in pain as the "+attacker.getRace().getName()+"s swift "+attack.weapon.getObjectHitVerb(damage.type)+" connects to your "+location+", penetrating to the bone."; else if(percentage < 40) return Print.capitalize(attacker.getPossessive())+" powerful "+attack.weapon.getName()+" "+attack.weapon.getObjectHitVerb(damage.type)+" snaps several large bones and leaves your "+location+" bleeding."; else if(percentage < 60) return "A mass of your blood and internal organs fall out as the "+attacker.getRace().getName()+" connects a mighty "+attack.weapon.getObjectHitVerb(damage.type)+" with "+attacker.getPossessive()+"."; else if(percentage < 90) return "Your "+location+" is reduced into a bloody mess of organs and broken bones by the devastating "+attack.weapon.getObjectHitVerb(damage.type)+"."; else return Print.capitalize(attacker.getName())+"s incredible "+attack.weapon.getObjectHitVerb(damage.type)+" turns your body into a broken mass of guts and blood."; */ }
public String getAttackerGoreMessage(Living who, Attack attack, int hitLocation) { Damage damage = attack.getMaxDamage(); int maxHp = Math.max(who.getMaxHp(), 1); int percentage = (int) ((damage.damage * 100) / maxHp); String location = who.getRace().getHitLocation(hitLocation); if (percentage < 1) return "Your " + attack.weapon.getName() + " bounces off " + who.getName() + "'s tough shell, causing only minor scratches."; else if (percentage < 2) return Print.capitalize(who.getName()) + " scuttles nimbly, avoiding your " + attack.weapon.getObjectHitVerb(damage.type) + " almost completely."; else if (percentage < 3) return "A few marks are left on " + who.getName() + "'s chitinous " + location + " by your " + attack.weapon.getObjectHitVerb(damage.type) + "."; else if (percentage < 4) return "The " + attack.weapon.getName() + " lands on " + who.getName() + "'s " + location + " with a loud crunch, but the exoskeleton seems to hold."; else if (percentage < 5) return Print.capitalize(who.getName()) + "'s numerous legs twitch in pain as your blow lands on " + who.getPossessive() + " " + location + "."; else if (percentage < 6) return "The " + attack.weapon.getObjectHitVerb(damage.type) + " connects with " + who.getName() + "'s " + location + " causing a crack to appear on " + who.getPossessive() + " shell."; else if (percentage < 7) return "Your " + attack.weapon.getHitNoun(damage.type) + " at the " + who.getRace().getName() + ", leaving " + who.getPossessive() + " " + location + " oozing green fluids."; else if (percentage < 9) return Print.capitalize(who.getName()) + " quivers in pain as the " + attack.weapon.getObjectHitVerb(damage.type) + " rips through " + who.getPossessive() + " exoskeleton at " + location + "."; else if (percentage < 12) return Print.capitalize(who.getName()) + " drops from " + who.getPossessive() + " legs as your " + attack.weapon.getObjectHitVerb(damage.type) + " easilly penetrates " + who.getPossessive() + " tough carapace."; else if (percentage < 15) return "You drive the " + attack.weapon.getName() + " to " + who.getName() + "'s " + location + ", causing a major squirt of viscous fluids to fly trough the air."; else if (percentage < 20) return Print.capitalize(who.getName()) + " wraps " + who.getPossessive() + " legs around " + who.getPronoun() + " in agony as the swift " + attack.weapon.getObjectHitVerb(damage.type) + " crunches trough " + who.getPossessive() + " shell."; else if (percentage < 40) return "Chitinous exoskeleton at " + who.getName() + "'s " + location + " is ripped apart by the powerful " + attack.weapon.getObjectHitVerb(damage.type) + "."; else if (percentage < 60) return "The powerful " + attack.weapon.getName() + " " + attack.weapon.getObjectHitVerb(damage.type) + " breaks " + who.getName() + "'s exoskeleton open, exposing the soft innards inside."; else if (percentage < 90) return Print.capitalize(who.getName()) + "'s " + location + " is smashed into a mess of slime and chitin pieces by the ferocious " + attack.weapon.getObjectHitVerb(damage.type) + "."; else return "Your devastating " + attack.weapon.getObjectHitVerb(damage.type) + " sends the crushed body of " + who.getName() + " flying trough the air, leaving a trail of sticky innards on the ground."; }