$NetBSD: patch-ak,v 1.2 2014/02/09 17:09:03 wiedi Exp $

--- Main/Source/lsquare.cpp.orig	2004-12-10 15:51:47.000000000 +0000
+++ Main/Source/lsquare.cpp
@@ -1585,7 +1585,7 @@ truth lsquare::Duplicate(const beamdata&
   character* Character = GetCharacter();
 
   if(Character)
-    DuplicatedSomething = truth(Character->DuplicateToNearestSquare(Beam.Owner, Beam.SpecialParameters));
+    DuplicatedSomething = truth(Character->DuplicateToNearestSquare(Beam.Owner, Beam.SpecialParameters) != NULL);
 
   if(GetStack()->Duplicate(DuplicatedSomething ? 4 : 5, Beam.SpecialParameters))
     DuplicatedSomething = true;
@@ -2186,8 +2186,8 @@ void lsquare::SpillFluid(character* Spil
 	Spiller->Hostility(GetCharacter());
 
       long CharVolume = GetCharacter()->GetVolume();
-      double ChanceMultiplier = 1. / (300 + sqrt(GetStack()->GetVolume() + CharVolume));
-      double Root = sqrt(CharVolume);
+      double ChanceMultiplier = 1. / (300 + sqrt((double)(GetStack()->GetVolume() + CharVolume)));
+      double Root = sqrt((double)CharVolume);
 
       if(ForceHit || Root > RAND() % 400 || Root > RAND() % 400)
       {
