--- a/hedgewars/HHHandlers.inc Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/HHHandlers.inc Sat Sep 29 16:39:21 2007 +0000
@@ -94,7 +94,8 @@
begin
Inc(AttacksNum);
State:= State and not gstAttacking;
- if Ammo^[CurSlot, CurAmmo].NumPerTurn >= AttacksNum then isInMultiShoot:= true
+ if (Ammo^[CurSlot, CurAmmo].NumPerTurn >= AttacksNum) or
+ ((GameFlags and gfMultiWeapon) <> 0) then isInMultiShoot:= true
else begin
TurnTimeLeft:= Ammoz[Ammo^[CurSlot, CurAmmo].AmmoType].TimeAfterTurn;
State:= State or gstAttacked;
--- a/hedgewars/uConsole.pas Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uConsole.pas Sat Sep 29 16:39:21 2007 +0000
@@ -287,6 +287,8 @@
RegisterVariable('map' , vtCommand, @chSetMap , false);
RegisterVariable('theme' , vtCommand, @chSetTheme , false);
RegisterVariable('seed' , vtCommand, @chSetSeed , false);
+RegisterVariable('delay' , vtLongInt, @cInactDelay , false);
+RegisterVariable('casefreq', vtLongInt, @cCaseFactor , false);
RegisterVariable('c_height', vtLongInt, @cConsoleHeight , false);
RegisterVariable('gmflags' , vtLongInt, @GameFlags , false);
RegisterVariable('turntime', vtLongInt, @cHedgehogTurnTime, false);
--- a/hedgewars/uConsts.pas Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uConsts.pas Sat Sep 29 16:39:21 2007 +0000
@@ -115,7 +115,7 @@
cTransparentColor: Longword = $000000;
- cMaxTeams = 6;
+ cMaxTeams = 6;
cMaxHHIndex = 7;
cMaxHHs = 30;
cMaxSpawnPoints = 1024;
@@ -135,9 +135,8 @@
cMaxCaptions = 4;
- cInactDelay = 1500;
-
gfForts = $00000001;
+ gfMultiWeapon = $00000002;
gfOneClanMode = $10000000;
gstDrowning = $00000001;
--- a/hedgewars/uGears.pas Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uGears.pas Sat Sep 29 16:39:21 2007 +0000
@@ -373,7 +373,7 @@
end;
procedure ProcessGears;
-const delay: LongInt = cInactDelay;
+const delay: LongWord = 0;
step: (stDelay, stChDmg, stChWin, stSpawn, stNTurn) = stDelay;
var Gear, t: PGear;
begin
@@ -389,12 +389,13 @@
if AllInactive then
case step of
stDelay: begin
- dec(delay);
if delay = 0 then
- begin
- inc(step);
delay:= cInactDelay
- end
+ else
+ dec(delay);
+
+ if delay = 0 then
+ inc(step)
end;
stChDmg: if CheckNoDamage then inc(step) else step:= stDelay;
stChWin: if not CheckForWin then inc(step) else step:= stDelay;
@@ -896,7 +897,9 @@
var t: LongInt;
i: TAmmoType;
begin
-if (CountGears(gtCase) >= 5) or (getrandom(cCaseFactor) <> 0) then exit;
+if (cCaseFactor = 0) or
+ (CountGears(gtCase) >= 5) or
+ (getrandom(cCaseFactor) <> 0) then exit;
FollowGear:= AddGear(0, 0, gtCase, 0, _0, _0, 0);
case getrandom(2) of
0: begin
--- a/hedgewars/uMisc.pas Thu Sep 27 16:55:49 2007 +0000
+++ b/hedgewars/uMisc.pas Sat Sep 29 16:39:21 2007 +0000
@@ -61,7 +61,7 @@
cExplosionBorderColor : LongWord = $808080;
cShowFPS : boolean = true;
- cCaseFactor : Longword = 7; {1..10}
+ cCaseFactor : Longword = 6; {0..9}
cFullScreen : boolean = true;
cLocaleFName : shortstring = 'en.txt';
cSeed : shortstring = '';
@@ -69,9 +69,12 @@
cVolumeDelta : LongInt = 0;
cTimerInterval : Longword = 5;
cHasFocus : boolean = true;
+ cInactDelay : Longword = 1500;
+{$WARNINGS OFF}
cAirPlaneSpeed: hwFloat = (isNegative: false; QWordValue: 6012954214); // 1.4
cBombsSpeed : hwFloat = (isNegative: false; QWordValue: 429496729);
+{$WARNINGS ON}
var
cSendEmptyPacketTime : LongWord = 2000;
--- a/share/hedgewars/Data/Trainings/001_Shotgun.txt Thu Sep 27 16:55:49 2007 +0000
+++ b/share/hedgewars/Data/Trainings/001_Shotgun.txt Sat Sep 29 16:39:21 2007 +0000
@@ -1,6 +1,8 @@
seed none
-$gmflags 268435456
+$gmflags 268435458
$turntime 60000
+$casefreq 0
+$delay 0
map mushrooms
theme avematan
ammstore 00009000000000000000