hedgewars/uStats.pas
changeset 14014 f09276eb0c27
parent 14012 7b66a2e9b368
child 14015 544b32038664
equal deleted inserted replaced
14013:caf7a86214bd 14014:f09276eb0c27
   215     if ((DamageTotal > 0) or (KillsTotal > 0) or (PoisonTotal > 0)) and ((CurrentHedgehog^.stats.DamageGiven = DamageTotal) and (CurrentHedgehog^.stats.StepKills = KillsTotal) and (PoisonTotal = PoisonTurn + PoisonClan)) then
   215     if ((DamageTotal > 0) or (KillsTotal > 0) or (PoisonTotal > 0)) and ((CurrentHedgehog^.stats.DamageGiven = DamageTotal) and (CurrentHedgehog^.stats.StepKills = KillsTotal) and (PoisonTotal = PoisonTurn + PoisonClan)) then
   216         AddVoice(sndFirstBlood, CurrentTeam^.voicepack)
   216         AddVoice(sndFirstBlood, CurrentTeam^.voicepack)
   217 
   217 
   218     // Hog hurts, poisons or kills itself (except sacrifice)
   218     // Hog hurts, poisons or kills itself (except sacrifice)
   219     else if (CurrentHedgehog^.stats.Sacrificed = false) and ((CurrentHedgehog^.stats.StepDamageRecv > 0) or (CurrentHedgehog^.stats.StepPoisoned) or (CurrentHedgehog^.stats.StepDied)) then
   219     else if (CurrentHedgehog^.stats.Sacrificed = false) and ((CurrentHedgehog^.stats.StepDamageRecv > 0) or (CurrentHedgehog^.stats.StepPoisoned) or (CurrentHedgehog^.stats.StepDied)) then
   220         begin
   220         // Hurting itself only (not drowning)
   221         AddVoice(sndStupid, PreviousTeam^.voicepack);
       
   222         // Message for hurting itself only (not drowning)
       
   223         if (CurrentHedgehog^.stats.StepDamageGiven = CurrentHedgehog^.stats.StepDamageRecv) and (CurrentHedgehog^.stats.StepDamageRecv >= 1) then
   221         if (CurrentHedgehog^.stats.StepDamageGiven = CurrentHedgehog^.stats.StepDamageRecv) and (CurrentHedgehog^.stats.StepDamageRecv >= 1) then
       
   222             begin
       
   223             // Announcer message + random taunt
   224             AddCaption(FormatA(GetEventString(eidHurtSelf), s), capcolDefault, capgrpMessage);
   224             AddCaption(FormatA(GetEventString(eidHurtSelf), s), capcolDefault, capgrpMessage);
   225         end
   225             if (CurrentHedgehog^.stats.StepDamageGiven <= CurrentHedgehog^.stats.StepDamageRecv) and (CurrentHedgehog^.stats.StepDamageRecv >= 1) then
       
   226                 case random(3) of
       
   227                 0: AddVoice(sndStupid, PreviousTeam^.voicepack);
       
   228                 1: AddVoice(sndBugger, CurrentTeam^.voicepack);
       
   229                 2: AddVoice(sndDrat, CurrentTeam^.voicepack);
       
   230                 end;
       
   231             end
       
   232         // Hurt itself and others
       
   233         else
       
   234             AddVoice(sndStupid, PreviousTeam^.voicepack)
   226 
   235 
   227     // Hog hurts, poisons or kills own team/clan member. Sacrifice is taken into account
   236     // Hog hurts, poisons or kills own team/clan member. Sacrifice is taken into account
   228     else if (DamageClan <> 0) or (KillsClan > killsCheck) or (PoisonClan <> 0) then
   237     else if (DamageClan <> 0) or (KillsClan > killsCheck) or (PoisonClan <> 0) then
   229         if (DamageTurn > DamageClan) or (Kills > KillsClan) then
   238         if (DamageTurn > DamageClan) or (Kills > KillsClan) then
   230             if random(2) = 0 then
   239             if random(2) = 0 then
   240     // Hog hurts, kills or poisons enemy
   249     // Hog hurts, kills or poisons enemy
   241     else if (CurrentHedgehog^.stats.StepDamageGiven <> 0) or (CurrentHedgehog^.stats.StepKills > killsCheck) or (PoisonTurn <> 0) then
   250     else if (CurrentHedgehog^.stats.StepDamageGiven <> 0) or (CurrentHedgehog^.stats.StepKills > killsCheck) or (PoisonTurn <> 0) then
   242         if Kills > killsCheck then
   251         if Kills > killsCheck then
   243             AddVoice(sndEnemyDown, CurrentTeam^.voicepack)
   252             AddVoice(sndEnemyDown, CurrentTeam^.voicepack)
   244         else
   253         else
   245             AddVoice(sndRegret, vpHurtEnemy)
   254             if random(2) = 0 then
       
   255                 AddVoice(sndRegret, vpHurtEnemy)
       
   256             else
       
   257                 AddVoice(sndGonnaGetYou, vpHurtEnemy)
   246 
   258 
   247     // Missed shot
   259     // Missed shot
   248     // A miss is defined as a shot with a damaging weapon with 0 kills, 0 damage, 0 hogs poisoned and 0 targets hit
   260     // A miss is defined as a shot with a damaging weapon with 0 kills, 0 damage, 0 hogs poisoned and 0 targets hit
   249     else if AmmoDamagingUsed and (Kills <= killsCheck) and (PoisonTurn = 0) and (PoisonClan = 0) and (DamageTurn = 0) and (HitTargets = 0) then
   261     else if AmmoDamagingUsed and (Kills <= killsCheck) and (PoisonTurn = 0) and (PoisonClan = 0) and (DamageTurn = 0) and (HitTargets = 0) then
   250         // Chance to call hedgehog stupid if sacrificed for nothing
   262         // Chance to call hedgehog stupid if sacrificed for nothing