24
lib/features/player/weapons/knife.dart
Normal file
24
lib/features/player/weapons/knife.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'package:wolf_dart/features/player/weapon.dart';
|
||||
|
||||
class Knife extends Weapon {
|
||||
Knife()
|
||||
: super(
|
||||
name: "Knife",
|
||||
idleSprite: 416,
|
||||
fireFrames: [417, 418, 419],
|
||||
damage: 15,
|
||||
msPerFrame: 120,
|
||||
);
|
||||
|
||||
@override
|
||||
bool fire(int currentTime, {required int currentAmmo}) {
|
||||
// Knife doesn't need ammo!
|
||||
if (state == WeaponState.idle) {
|
||||
state = WeaponState.firing;
|
||||
frameIndex = 0;
|
||||
lastFrameTime = currentTime;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
12
lib/features/player/weapons/machine_gun.dart
Normal file
12
lib/features/player/weapons/machine_gun.dart
Normal file
@@ -0,0 +1,12 @@
|
||||
import 'package:wolf_dart/features/player/weapon.dart';
|
||||
|
||||
class MachineGun extends Weapon {
|
||||
MachineGun()
|
||||
: super(
|
||||
name: "Machine Gun",
|
||||
idleSprite: 413,
|
||||
fireFrames: [414, 415], // Faster 2-frame loop
|
||||
damage: 20,
|
||||
msPerFrame: 80,
|
||||
);
|
||||
}
|
||||
11
lib/features/player/weapons/pistol.dart
Normal file
11
lib/features/player/weapons/pistol.dart
Normal file
@@ -0,0 +1,11 @@
|
||||
import 'package:wolf_dart/features/player/weapon.dart';
|
||||
|
||||
class Pistol extends Weapon {
|
||||
Pistol()
|
||||
: super(
|
||||
name: "Pistol",
|
||||
idleSprite: 408,
|
||||
fireFrames: [409, 410, 411, 412],
|
||||
damage: 20,
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user