diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index 4305909aac1..9c18f9a6cf7 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -486,7 +486,7 @@ GLOBAL_LIST_INIT(main_body_parts2words, list( #define RUBBERY_RECOIL_PISTOL_10MM (BULLET_RECOIL_PISTOL_10MM * RUBBERY_RECOIL_MULT) #define RUBBERY_WOUND_PISTOL_10MM (BULLET_WOUND_PISTOL_10MM * 2) -#define BULLET_DAMAGE_PISTOL_NEEDLE 10 +#define BULLET_DAMAGE_PISTOL_NEEDLE 16 #define BULLET_DAMAGE_PISTOL_NEEDLE_HANDLOAD (BULLET_DAMAGE_PISTOL_NEEDLE * BULLET_HANDLOAD_MULT_DAMAGE) #define BULLET_DAMAGE_PISTOL_NEEDLE_MATCH (BULLET_DAMAGE_PISTOL_NEEDLE * BULLET_MATCH_MULT_DAMAGE) #define BULLET_STAMINA_PISTOL_NEEDLE (BULLET_DAMAGE_PISTOL_NEEDLE * 0.5) diff --git a/code/game/objects/effects/spawners/masterlootdrop.dm b/code/game/objects/effects/spawners/masterlootdrop.dm index 90dce4b554f..82883832484 100644 --- a/code/game/objects/effects/spawners/masterlootdrop.dm +++ b/code/game/objects/effects/spawners/masterlootdrop.dm @@ -266,10 +266,11 @@ /obj/item/gun/ballistic/automatic/smg/m22 = 1, /obj/item/gun/ballistic/automatic/p47 = 1, /obj/item/gun/ballistic/automatic/z34rifle = 1, - /obj/item/gun/ballistic/revolver/taurjudge = 1, + /obj/item/gun/ballistic/revolver/taurjudge = 2, /obj/item/gun/ballistic/automatic/ak556 = 1, /obj/item/gun/ballistic/automatic/wt550/worn = 1, /obj/item/gun/ballistic/automatic/pistol/schmeisser = 2, + /obj/item/gun/ballistic/automatic/pistol/needlerpistol = 3, ) /obj/effect/spawner/lootdrop/f13/rare_guns diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm index dfab5cb7242..f70bc94f2e2 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm @@ -135,6 +135,21 @@ desc = "A box of .22 ratshot rounds." ammo_type = /obj/item/ammo_casing/a22/ratshot + +//needle ammo + +/obj/item/ammo_box/needlercapsule + name = "needler ammo capsule" + icon_state = "needlecapsule" + desc = "A capsule filled to the brim with needles" + ammo_type = /obj/item/ammo_casing/caseless/needle + caliber = list(CALIBER_NEEDLE) + max_ammo = 72 + w_class = WEIGHT_CLASS_SMALL + custom_materials = list(/datum/material/iron = MATS_PISTOL_SMALL_BOX) + randomize_ammo_count = FALSE + icon = 'icons/fallout/objects/guns/ammo.dmi' + //9mm and .38 /obj/item/ammo_box/c9mm name = "ammo box (9mm)" diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm index 5d7dc35ba5d..748e638b558 100644 --- a/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -240,3 +240,16 @@ ammo_type = /obj/item/ammo_casing/testcasing caliber = list(CALIBER_9MM) max_ammo = 100 + + +/obj/item/ammo_box/magazine/needlercapsule + name = "Capsule filled with needlers" + icon = 'icons/fallout/objects/guns/ammo.dmi' + icon_state = "needlerpack" + ammo_type = /obj/item/ammo_casing/caseless/needle + caliber = list(CALIBER_NEEDLE) + max_ammo = 24 + multiple_sprites = 2 + custom_materials = list(/datum/material/iron = MATS_LIGHT_RIFLE_MAGAZINE) + w_class = WEIGHT_CLASS_TINY + multiload = TRUE diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm index db3be7d5b8e..f9c3a348f0b 100644 --- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm +++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm @@ -53,3 +53,15 @@ caliber = list(CALIBER_9MM) max_ammo = 10 multiload = FALSE + +/obj/item/ammo_box/magazine/internal/needlerammo + name = "magazine filled with needlers" + icon = 'icons/fallout/objects/guns/ammo.dmi' + icon_state = "needlerpack" + ammo_type = /obj/item/ammo_casing/caseless/needle + caliber = list(CALIBER_NEEDLE) + max_ammo = 24 + multiple_sprites = 2 + custom_materials = list(/datum/material/iron = MATS_LIGHT_RIFLE_MAGAZINE) + w_class = WEIGHT_CLASS_TINY + multiload = TRUE diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm index c1f2c8f3a88..cc3345f3ffd 100644 --- a/code/modules/projectiles/guns/ballistic/pistol.dm +++ b/code/modules/projectiles/guns/ballistic/pistol.dm @@ -899,6 +899,30 @@ can_suppress = FALSE fire_sound = 'sound/f13weapons/cyberbang.ogg' +/obj/item/gun/ballistic/automatic/pistol/needlerpistol + name = "NP-149/40" + desc = "A NP-149/40 pistol. This unique and odd prototype of a pistol was manufactured by Latos Systems before the way. It uses a peculiar type of ammunition. The ammo itself, when inserted, somehow turns into a set of pink glowing needles. How does Latos Systems do it? Who knows!" + icon_state = "needlerpistol" + item_state = "needlerpistol" + icon = 'icons/fallout/objects/guns/ballistic.dmi' + lefthand_file = 'icons/fallout/onmob/weapons/guns_lefthand.dmi' + righthand_file = 'icons/fallout/onmob/weapons/guns_righthand.dmi' + init_mag_type = /obj/item/ammo_box/magazine/internal/needlerammo + mag_type = /obj/item/ammo_box/magazine/internal/needlerammo + weapon_class = WEAPON_CLASS_SMALL + weapon_weight = GUN_ONE_HAND_AKIMBO + damage_multiplier = GUN_EXTRA_DAMAGE_0 + init_recoil = HANDGUN_RECOIL(1, 1) + init_firemodes = list( + /datum/firemode/automatic/rpm150 + ) + can_scope = FALSE + can_suppress = FALSE + force_unwielded = 30 + force = 30 + force_wielded = 35 + fire_sound = 'sound/f13weapons/needler.ogg' + /* * * * * * * * * * * * Little Devil Semi-Auto * Super Duper Heavy pistol diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm index 87306f41450..0551fa174a1 100644 --- a/code/modules/projectiles/projectile/bullets/pistol.dm +++ b/code/modules/projectiles/projectile/bullets/pistol.dm @@ -417,6 +417,8 @@ pixels_per_second = BULLET_SPEED_PISTOL_NEEDLE damage_falloff = BULLET_FALLOFF_DEFAULT_PISTOL_LIGHT + supereffective_damage = 16 + supereffective_faction = list("hostile", "ant", "supermutant", "deathclaw", "cazador", "raider", "china", "gecko", "wastebot", "yaoguai") var/piercing = FALSE // not sure what this does diff --git a/icons/fallout/objects/guns/ammo.dmi b/icons/fallout/objects/guns/ammo.dmi index 6d67d1f7ef5..a32ef053745 100644 Binary files a/icons/fallout/objects/guns/ammo.dmi and b/icons/fallout/objects/guns/ammo.dmi differ diff --git a/icons/fallout/objects/guns/ballistic.dmi b/icons/fallout/objects/guns/ballistic.dmi index ef7b9e15c9e..44099ad8a86 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..40d087b2957 100644 Binary files a/icons/fallout/objects/guns/projectiles.dmi and b/icons/fallout/objects/guns/projectiles.dmi differ diff --git a/icons/fallout/onmob/weapons/guns_lefthand.dmi b/icons/fallout/onmob/weapons/guns_lefthand.dmi index 86734fff9a9..0251b8a03d1 100644 Binary files a/icons/fallout/onmob/weapons/guns_lefthand.dmi and b/icons/fallout/onmob/weapons/guns_lefthand.dmi differ diff --git a/icons/fallout/onmob/weapons/guns_righthand.dmi b/icons/fallout/onmob/weapons/guns_righthand.dmi index 761824bc100..1761ce6af2b 100644 Binary files a/icons/fallout/onmob/weapons/guns_righthand.dmi and b/icons/fallout/onmob/weapons/guns_righthand.dmi differ diff --git a/sound/f13weapons/needler.ogg b/sound/f13weapons/needler.ogg new file mode 100644 index 00000000000..43c69c9847c Binary files /dev/null and b/sound/f13weapons/needler.ogg differ