diff --git a/code/__DEFINES/ammo.dm b/code/__DEFINES/ammo.dm index da81c76180e..1eb8d21fe05 100644 --- a/code/__DEFINES/ammo.dm +++ b/code/__DEFINES/ammo.dm @@ -98,6 +98,15 @@ CALIBER_50MG,\ ) +#define MEDUSA_AMMO_CALIBERS list(\ + CALIBER_22LR,\ + CALIBER_9MM,\ + CALIBER_10MM,\ + CALIBER_45ACP,\ + CALIBER_357,\ + CALIBER_44,\ + ) + GLOBAL_LIST_INIT(pipe_rifle_valid_calibers, list( CALIBER_22LR, CALIBER_5MM, diff --git a/code/game/objects/items/loadout_beacons.dm b/code/game/objects/items/loadout_beacons.dm index 93f293eb382..ebc22851570 100644 --- a/code/game/objects/items/loadout_beacons.dm +++ b/code/game/objects/items/loadout_beacons.dm @@ -1067,6 +1067,18 @@ GLOBAL_LIST_EMPTY(loadout_boxes) new /obj/item/ammo_box/c45rev(src) new /obj/item/ammo_box/c45(src) +/datum/loadout_box/medusa + entry_tag = "Medusa Revolver" + entry_flags = LOADOUT_FLAG_WASTER | LOADOUT_FLAG_TRIBAL + entry_class = LOADOUT_CAT_REVOLVER + spawn_thing = /obj/item/gun/ballistic/revolver/medusa + +/datum/loadout_box/hermes + entry_tag = "Hermes Revolver" + entry_flags = LOADOUT_FLAG_WASTER | LOADOUT_FLAG_TRIBAL + entry_class = LOADOUT_CAT_REVOLVER + spawn_thing = /obj/item/gun/ballistic/revolver/hermes + /obj/item/storage/box/gun/revolver/colt357 name = ".357 magnum revolver case" //what does \improper mean, is needed here? diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 1f6a6431d98..34506f86d75 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -40,6 +40,18 @@ ammo_type = /obj/item/ammo_casing/c4570 max_ammo = 6 +/obj/item/ammo_box/magazine/internal/cylinder/hermes + name = "hermes revolver cylinder" + ammo_type = /obj/item/ammo_casing/c9mm + caliber = list(CALIBER_9MM) + max_ammo = 7 + +/obj/item/ammo_box/magazine/internal/cylinder/medusa + name = "multi-caliber revolver cylinder" + ammo_type = /obj/item/ammo_casing/a357 + caliber = MEDUSA_AMMO_CALIBERS + max_ammo = 6 + /obj/item/ammo_box/magazine/internal/cylinder/revneedler name = "needler internal mag" ammo_type = /obj/item/ammo_casing/caseless/needle diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 10b99206063..ffc09d97ad8 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -181,6 +181,31 @@ ) fire_sound = 'sound/f13weapons/45revolver.ogg' + +/* * * * * * * * * * * + * Hermes revolver + * Light, Fast and hyper accurate + * 9mm + * Uncommon + * * * * * * * * * * */ + +/obj/item/gun/ballistic/revolver/hermes + name = "Hermes Sporting Revolver" + desc = "A slick, well machined 9mm revolver made for olympic target shooting, extremely accurate and fast firing, though lacking in stopping power" + icon_state = "hermes" + icon = 'icons/fallout/objects/guns/ballistic.dmi' + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/hermes + weapon_class = WEAPON_CLASS_SMALL + weapon_weight = GUN_ONE_HAND_AKIMBO + damage_multiplier = GUN_EXTRA_DAMAGE_0 + gun_accuracy_zone_type = ZONE_WEIGHT_PRECISION + init_recoil = HANDGUN_RECOIL(1, 1) + init_firemodes = list( + /datum/firemode/semi_auto/faster, + /datum/firemode/automatic/rpm300, + ) + use_casing_sounds = TRUE + /* * * * * * * * * * * HEAVY REVOLVERS * * * * * * * * * * */ @@ -217,6 +242,34 @@ /datum/firemode/semi_auto/faster ) +/* * * * * * * * * * * + * Medusa Revolver + * Slow, innacurate but convenient + * From .22 up to .44 + * Uncommon + * * * * * * * * * * */ + + /obj/item/gun/ballistic/revolver/medusa + name = "Medusa Multi-Caliber Revolver" + desc = "A hefty pre-war revolver with an unusual multi-caliber cylinder, able to fit from .22 up to .44, though the loose chambering makes it quite innacurate" + icon_state = "medusa" + icon = 'icons/fallout/objects/guns/ballistic.dmi' + mag_type = /obj/item/ammo_box/magazine/internal/cylinder/medusa + weapon_class = WEAPON_CLASS_SMALL + weapon_weight = GUN_ONE_HAND_AKIMBO + added_spread = GUN_SPREAD_POOR + damage_multiplier = GUN_EXTRA_DAMAGE_0 + init_firemodes = list( + /datum/firemode/semi_auto/slow + ) + + can_flashlight = TRUE + scope_state = "flight" + flight_x_offset = 16 + flight_y_offset = 18 + + use_casing_sounds = TRUE + /* * * * * * * * * * * * Mateba revolver * Cool? heavy revolver diff --git a/icons/fallout/objects/guns/ballistic.dmi b/icons/fallout/objects/guns/ballistic.dmi index c014cb42f3f..5b014e8f74d 100644 Binary files a/icons/fallout/objects/guns/ballistic.dmi and b/icons/fallout/objects/guns/ballistic.dmi differ diff --git a/icons/fallout/objects/guns/projectiles.dmi b/icons/fallout/objects/guns/projectiles.dmi index 6e3b258642b..c6e6e069686 100644 Binary files a/icons/fallout/objects/guns/projectiles.dmi and b/icons/fallout/objects/guns/projectiles.dmi differ