diff --git a/client/public/img/game/shared/projectiles/proj_satchel.svg b/client/public/img/game/shared/projectiles/proj_satchel.svg new file mode 100644 index 0000000000..46137806d8 --- /dev/null +++ b/client/public/img/game/shared/projectiles/proj_satchel.svg @@ -0,0 +1,430 @@ + + + + diff --git a/client/public/img/game/shared/weapons/satchel.svg b/client/public/img/game/shared/weapons/satchel.svg new file mode 100644 index 0000000000..46137806d8 --- /dev/null +++ b/client/public/img/game/shared/weapons/satchel.svg @@ -0,0 +1,430 @@ + + + + diff --git a/common/src/definitions/items/throwables.ts b/common/src/definitions/items/throwables.ts index f75f7a997f..a58f8c808c 100644 --- a/common/src/definitions/items/throwables.ts +++ b/common/src/definitions/items/throwables.ts @@ -215,5 +215,39 @@ export const Throwables = new InventoryItemDefinitions([ rightFist: Vec.create(4, 2.15) } } - } + }, + { + idString: "satchel", + name: "Satchel Charge", + itemType: ItemType.Throwable, + cookable: false, + fuseTime: 8500, + cookTime: 150, + throwTime: 150, + speedMultiplier: 1, + cookSpeedMultiplier: 0.7, + impactDamage: 1, + obstacleMultiplier: 20, + hitboxRadius: 1, + image: { + position: Vec.create(60, 43), + angle: 60, + zIndex: 5 + }, + detonation: { + explosion: "super_barrel_explosion" + }, + animation: { + liveImage: "proj_satchel", + cook: { + cookingImage: "proj_frag_nopin", + leftFist: Vec.create(2.5, 0), + rightFist: Vec.create(-0.5, 2.15) + }, + throw: { + leftFist: Vec.create(1.9, -1.75), + rightFist: Vec.create(4, 2.15) + } + } + }, ]); diff --git a/server/src/data/lootTables.ts b/server/src/data/lootTables.ts index 2a9f7f08a1..2c3d6bc740 100644 --- a/server/src/data/lootTables.ts +++ b/server/src/data/lootTables.ts @@ -924,7 +924,8 @@ export const LootTables: Record> = { { item: NullString, weight: 0.5 } ], [ - { item: "frag_grenade", count: 3, weight: 2 }, + { item: "frag_grenade", count: 3, weight: 3 }, + { item: "satchel", count: 2, weight: 1 }, { item: NullString, weight: 1 } ] ],