summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrexim <reximkut@gmail.com>2024-03-25 04:14:44 +0700
committerrexim <reximkut@gmail.com>2024-03-25 04:14:44 +0700
commit599426f4f57c99616cd11e1584f71a68cd1a2e76 (patch)
treec41b4a70e23a4a1586483a1dbcaad51358704e8f
parent25f3c9be613e11d1bb4e31a604da5104d2f5407e (diff)
parent499aade65f8b2a8c0b0bb909880f23cc4ea0cdbd (diff)
Merge remote-tracking branch 'origin/main'
-rw-r--r--eepers.adb15
1 files changed, 13 insertions, 2 deletions
diff --git a/eepers.adb b/eepers.adb
index 0b39669..76eef5d 100644
--- a/eepers.adb
+++ b/eepers.adb
@@ -143,7 +143,8 @@ procedure Eepers is
Put_Line("WARNING: could not load colors from file " & File_Name & ": " & Exception_Message(E));
end;
- TURN_DURATION_SECS : constant Float := 0.125;
+ BASE_TURN_DURATION_SECS : constant Float := 0.125;
+ TURN_DURATION_SECS : Float := BASE_TURN_DURATION_SECS;
GUARD_ATTACK_COOLDOWN : constant Integer := 10;
EEPER_EXPLOSION_DAMAGE : constant Float := 0.45;
GUARD_TURN_REGENERATION : constant Float := 0.01;
@@ -934,7 +935,7 @@ procedure Eepers is
when Command_Plant => null;
end case;
end record;
- Command_Capacity: constant Natural := 5;
+ Command_Capacity: constant Natural := 3;
type Command_Array is array (0..Command_Capacity-1) of Command;
type Command_Queue_Record is record
Items: Command_Array;
@@ -1492,6 +1493,16 @@ begin
Command_Enqueue(Command_Queue, (Kind => Command_Plant));
end if;
end if;
+ if Is_Key_Down(KEY_LEFT_SHIFT) then
+ TURN_DURATION_SECS := BASE_TURN_DURATION_SECS * 0.8;
+ else
+ if Command_Queue.Size /= 0 then
+ TURN_DURATION_SECS := BASE_TURN_DURATION_SECS * (1.0 / Float(Command_Queue.Size));
+ else
+ TURN_DURATION_SECS := BASE_TURN_DURATION_SECS;
+ end if;
+ end if;
+
Any_Key_Pressed := False;
while not Any_Key_Pressed and then Get_Key_Pressed /= KEY_NULL loop
Any_Key_Pressed := True;