diff --git a/README.md b/README.md index 2eec6e3f6bd..7dfe894a4b2 100644 --- a/README.md +++ b/README.md @@ -138,6 +138,15 @@ Mapping for Paradise station can be daunting to new contributors. Here's a compr >Further files or folders may also fall under this licence, and any such instances will be specified within the folder or file. +
+ +Creative Commons 4.0 BY-NC + +>Any files with the ancestor directories [`Paradise/icons/tgmc`](icons/tgmc) are licensed under the [Creative Commons 4.0 BY-NC license](https://creativecommons.org/licenses/by-nc/4.0). +> +>Further files or folders may also fall under this license, and any such instances will be specified within the folder or file. +
+
Creative Commons 3.0 BY-SA diff --git a/code/datums/outfits/outfit_admin.dm b/code/datums/outfits/outfit_admin.dm index 180f4c88566..953697795ad 100644 --- a/code/datums/outfits/outfit_admin.dm +++ b/code/datums/outfits/outfit_admin.dm @@ -612,7 +612,7 @@ suit = /obj/item/clothing/suit/sovietcoat glasses = /obj/item/clothing/glasses/sunglasses r_pocket = /obj/item/flashlight/seclite - belt = /obj/item/gun/projectile/automatic/pistol/aps + belt = /obj/item/gun/projectile/automatic/pistol/type_230 backpack_contents = list( /obj/item/storage/box/soviet = 1, @@ -655,7 +655,7 @@ backpack_contents = list( /obj/item/storage/box/soviet = 1, - /obj/item/gun/projectile/automatic/pistol/aps = 1, + /obj/item/gun/projectile/automatic/pistol/type_230 = 1, /obj/item/ammo_box/magazine/apsm10mm = 2, /obj/item/storage/fancy/cigarettes/cigpack_syndicate = 1, /obj/item/lighter/zippo/engraved = 1 diff --git a/code/datums/uplink_items/uplink_nuclear.dm b/code/datums/uplink_items/uplink_nuclear.dm index 8fa51decf7e..2a88befdb8e 100644 --- a/code/datums/uplink_items/uplink_nuclear.dm +++ b/code/datums/uplink_items/uplink_nuclear.dm @@ -5,10 +5,10 @@ //////////////////////////////////////// /datum/uplink_item/dangerous/aps - name = "Stechkin APS Pistol" + name = "Type 230 Machine Pistol" reference = "APS" - desc = "The automatic machine pistol version of the FK-69 'Stechkin' chambered in 10mm Auto with a detachable 20-round box magazine. Perfect for dual wielding or as backup." - item = /obj/item/gun/projectile/automatic/pistol/aps + desc = "A compact machine pistol, chambered in 10mm Auto with a detachable 20-round box magazine. Perfect for dual wielding or as backup." + item = /obj/item/gun/projectile/automatic/pistol/type_230 cost = 40 uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) @@ -165,32 +165,32 @@ //////////////////////////////////////// /datum/uplink_item/ammo/aps - name = "Stechkin APS - 10mm Magazine" - desc = "An additional 20-round 10mm magazine for use in the Stechkin APS machine pistol, loaded with rounds that are cheap but around half as effective as .357" + name = "Type 230 - 10mm Magazine" + desc = "An additional 20-round 10mm magazine for use in the Type 230 machine pistol, loaded with rounds that are cheap but around half as effective as .357" reference = "10MMAPS" item = /obj/item/ammo_box/magazine/apsm10mm cost = 10 uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) /datum/uplink_item/ammo/apsap - name = "Stechkin APS - 10mm Armour Piercing Magazine" - desc = "An additional 20-round 10mm magazine for use in the Stechkin APS machine pistol, loaded with rounds that are less effective at injuring the target but penetrate protective gear." + name = "Type 230 - 10mm Armour Piercing Magazine" + desc = "An additional 20-round 10mm magazine for use in the Type 230 machine pistol, loaded with rounds that are less effective at injuring the target but penetrate protective gear." reference = "10MMAPSAP" item = /obj/item/ammo_box/magazine/apsm10mm/ap cost = 15 uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) /datum/uplink_item/ammo/apsfire - name = "Stechkin APS - 10mm Incendiary Magazine" - desc = "An additional 20-round 10mm magazine for use in the Stechkin APS machine pistol, loaded with incendiary rounds which ignite the target." + name = "Type 230 - 10mm Incendiary Magazine" + desc = "An additional 20-round 10mm magazine for use in the Type 230 machine pistol, loaded with incendiary rounds which ignite the target." reference = "10MMAPSFIRE" item = /obj/item/ammo_box/magazine/apsm10mm/fire cost = 15 uplinktypes = list(UPLINK_TYPE_NUCLEAR, UPLINK_TYPE_SST) /datum/uplink_item/ammo/apshp - name = "Stechkin APS - 10mm Hollow Point Magazine" - desc = "An additional 20-round 10mm magazine for use in the Stechkin APS machine pistol, loaded with rounds which are more damaging but ineffective against armour." + name = "Type 230 - 10mm Hollow Point Magazine" + desc = "An additional 20-round 10mm magazine for use in the Type 230 machine pistol, loaded with rounds which are more damaging but ineffective against armour." reference = "10MMAPSHP" item = /obj/item/ammo_box/magazine/apsm10mm/hp cost = 20 diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 4c6ffbd43a0..5a60ae1989a 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(summoned_guns, list( /obj/item/gun/energy/bsg/prebuilt, /obj/item/gun/energy/xray, /obj/item/gun/energy/plasma_pistol, - /obj/item/gun/projectile/automatic/pistol/aps, // whyyy is this capitalized + /obj/item/gun/projectile/automatic/pistol/type_230, // whyyy is this capitalized /obj/item/gun/projectile/revolver/overgrown, /obj/item/gun/energy/gun/blueshield/pdw9, /obj/item/gun/energy/disabler/silencer, diff --git a/code/game/objects/effects/spawners/random/traders/trader_organization_spawners.dm b/code/game/objects/effects/spawners/random/traders/trader_organization_spawners.dm index f92bfa79a7a..a97e36d8c69 100644 --- a/code/game/objects/effects/spawners/random/traders/trader_organization_spawners.dm +++ b/code/game/objects/effects/spawners/random/traders/trader_organization_spawners.dm @@ -82,7 +82,7 @@ spawn_loot_count = 2 //Lots of dangerous stuff here - reduced amount loot = list( /obj/item/gun/projectile/revolver/nagant = 5, - /obj/item/gun/projectile/automatic/pistol/aps = 3, + /obj/item/gun/projectile/automatic/pistol/type_230 = 3, /obj/item/gun/projectile/shotgun/boltaction = 5, /obj/item/clothing/suit/space/hardsuit/soviet = 4, /obj/item/clothing/glasses/thermal/eyepatch = 5, diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm index 28a658968f7..e929d1a8382 100644 --- a/code/modules/projectiles/ammunition/magazines.dm +++ b/code/modules/projectiles/ammunition/magazines.dm @@ -1,5 +1,5 @@ /obj/item/ammo_box/magazine - icon_state = "enforcer" // placeholder icon + icon_state = null ////////////////INTERNAL MAGAZINES////////////////////// /obj/item/ammo_box/magazine/internal @@ -191,6 +191,7 @@ /obj/item/ammo_box/magazine/m10mm name = "pistol magazine (10mm)" desc = "A gun magazine." + icon = 'icons/tgmc/objects/ammo.dmi' icon_state = "9x19p" origin_tech = "combat=2" ammo_type = /obj/item/ammo_casing/c10mm @@ -218,24 +219,27 @@ /obj/item/ammo_box/magazine/m45 name = "handgun magazine (.45)" + icon = 'icons/tgmc/objects/ammo.dmi' icon_state = "45" ammo_type = /obj/item/ammo_casing/c45 caliber = ".45" max_ammo = 8 - multi_sprite_step = 1 + multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF /obj/item/ammo_box/magazine/enforcer name = "handgun magazine (9mm rubber)" + icon = 'icons/tgmc/objects/ammo.dmi' + icon_state = "enforcer" ammo_type = /obj/item/ammo_casing/rubber9mm max_ammo = 8 - multi_sprite_step = 1 caliber = "9mm" + multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF /obj/item/ammo_box/magazine/enforcer/update_overlays() . = ..() var/ammo = ammo_count() if(ammo && is_rubber()) - . += image('icons/obj/ammo.dmi', icon_state = "enforcer-r") + . += image('icons/tgmc/objects/ammo.dmi', icon_state = "enforcer-r") /obj/item/ammo_box/magazine/enforcer/examine(mob/user) . = ..() @@ -316,11 +320,12 @@ /obj/item/ammo_box/magazine/uzim9mm name = "uzi magazine (9mm)" + icon = 'icons/tgmc/objects/ammo.dmi' icon_state = "uzi9mm" ammo_type = /obj/item/ammo_casing/c9mm caliber = "9mm" max_ammo = 32 - multi_sprite_step = 4 + multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF /obj/item/ammo_box/magazine/smgm9mm name = "\improper SMG magazine (9mm)" @@ -347,25 +352,26 @@ materials = list(MAT_METAL = 3000) /obj/item/ammo_box/magazine/apsm10mm - name = "stechkin aps magazine (10mm)" + name = "Type 230 magazine (10mm)" + icon = 'icons/tgmc/objects/ammo.dmi' icon_state = "10mmaps" ammo_type = /obj/item/ammo_casing/c10mm caliber = "10mm" max_ammo = 20 - multi_sprite_step = 5 + multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF /obj/item/ammo_box/magazine/apsm10mm/fire - name = "stechkin aps magazine (10mm incendiary)" + name = "Type 230 magazine (10mm incendiary)" icon_state = "10mmapsI" ammo_type = /obj/item/ammo_casing/c10mm/fire /obj/item/ammo_box/magazine/apsm10mm/hp - name = "stechkin aps magazine (10mm HP)" + name = "Type 230 magazine (10mm HP)" icon_state = "10mmapsH" ammo_type = /obj/item/ammo_casing/c10mm/hp /obj/item/ammo_box/magazine/apsm10mm/ap - name = "stechkin aps magazine (10mm AP)" + name = "Type 230 magazine (10mm AP)" icon_state = "10mmapsA" ammo_type = /obj/item/ammo_casing/c10mm/ap @@ -395,7 +401,6 @@ /obj/item/ammo_box/magazine/m75 name = "specialized magazine (.75)" - icon_state = "75" ammo_type = /obj/item/ammo_casing/caseless/a75 caliber = "75" multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF @@ -509,6 +514,7 @@ /obj/item/ammo_box/magazine/toy/pistol name = "foam force pistol magazine" + icon = 'icons/tgmc/objects/ammo.dmi' icon_state = "9x19p" max_ammo = 8 multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF @@ -518,17 +524,19 @@ /obj/item/ammo_box/magazine/toy/enforcer name = "\improper Enforcer foam magazine" + icon = 'icons/tgmc/objects/ammo.dmi' + icon_state = "enforcer" max_ammo = 8 - multi_sprite_step = 1 + multi_sprite_step = AMMO_BOX_MULTI_SPRITE_STEP_ON_OFF ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot /obj/item/ammo_box/magazine/toy/enforcer/update_overlays() . = ..() var/ammo = ammo_count() if(ammo && is_riot()) - . += image('icons/obj/ammo.dmi', icon_state = "enforcer-rd") + . += image('icons/tgmc/objects/ammo.dmi', icon_state = "enforcer-rd") else if(ammo) - . += image('icons/obj/ammo.dmi', icon_state = "enforcer-bd") + . += image('icons/tgmc/objects/ammo.dmi', icon_state = "enforcer-bd") /obj/item/ammo_box/magazine/toy/enforcer/proc/is_riot()//if the topmost bullet is a riot dart var/ammo = ammo_count() diff --git a/code/modules/projectiles/gun_attachments.dm b/code/modules/projectiles/gun_attachments.dm index f88f615d7f0..791a9ceef18 100644 --- a/code/modules/projectiles/gun_attachments.dm +++ b/code/modules/projectiles/gun_attachments.dm @@ -4,7 +4,7 @@ /obj/item/suppressor name = "universal suppressor" desc = "A universal syndicate small-arms suppressor for maximum espionage." - icon = 'icons/obj/guns/projectile.dmi' + icon = 'icons/tgmc/objects/attachments.dmi' icon_state = "suppressor" item_state = "suppressor" w_class = WEIGHT_CLASS_SMALL diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm index 1129c89fb22..e02857301f6 100644 --- a/code/modules/projectiles/guns/projectile/automatic.dm +++ b/code/modules/projectiles/guns/projectile/automatic.dm @@ -154,13 +154,20 @@ /obj/item/gun/projectile/automatic/mini_uzi name = "\improper 'Type U3' Uzi" desc = "A lightweight, burst-fire submachine gun, for when you really want someone dead. Uses 9mm rounds." + icon = 'icons/tgmc/objects/guns.dmi' icon_state = "mini-uzi" + item_state = "mini-uzi" origin_tech = "combat=4;materials=2;syndicate=4" mag_type = /obj/item/ammo_box/magazine/uzim9mm fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' burst_size = 2 can_holster = TRUE // it's a mini-uzi after all +/obj/item/gun/projectile/automatic/mini_uzi/update_overlays() + . = ..() + if(suppressed) + . += image(icon = 'icons/obj/guns/attachments.dmi', icon_state = "suppressor_attached", pixel_x = 13, pixel_y = 5) + ////////////////////////////// // MARK: M-90GL CARBINE ////////////////////////////// @@ -245,7 +252,6 @@ /obj/item/gun/projectile/automatic/tommygun name = "\improper Thompson SMG" desc = "A genuine 'Chicago Typewriter'." - icon_state = "tommygun" item_state = "shotgun" w_class = WEIGHT_CLASS_HUGE slot_flags = 0 diff --git a/code/modules/projectiles/guns/projectile/launchers.dm b/code/modules/projectiles/guns/projectile/launchers.dm index 1cb81b9d7ca..27d0db454d4 100644 --- a/code/modules/projectiles/guns/projectile/launchers.dm +++ b/code/modules/projectiles/guns/projectile/launchers.dm @@ -5,7 +5,11 @@ /obj/item/gun/projectile/revolver/grenadelauncher desc = "A break-action grenade launcher." name = "grenade launcher" + icon = 'icons/obj/guns/projectile.dmi' icon_state = "dbshotgun_sawn" + item_state = "gun" + lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/guns_righthand.dmi' mag_type = /obj/item/ammo_box/magazine/internal/grenadelauncher fire_sound = 'sound/weapons/grenadelaunch.ogg' can_holster = FALSE // Not your normal revolver diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index f16578d32e6..66724cae82f 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -2,68 +2,92 @@ /obj/item/gun/projectile/automatic/pistol name = "stechkin pistol" desc = "A small, easily concealable 10mm handgun. Has a threaded barrel for suppressors." + icon = 'icons/tgmc/objects/guns.dmi' + icon_state = "pistol" + item_state = "pistol" + lefthand_file = 'icons/tgmc/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/tgmc/mob/inhands/guns_righthand.dmi' w_class = WEIGHT_CLASS_SMALL origin_tech = "combat=3;materials=2;syndicate=3" can_holster = TRUE fire_sound = 'sound/weapons/gunshots/gunshot_pistol.ogg' magin_sound = 'sound/weapons/gun_interactions/pistol_magin.ogg' magout_sound = 'sound/weapons/gun_interactions/pistol_magout.ogg' + can_flashlight = TRUE burst_size = 1 fire_delay = 0 execution_speed = 4 SECONDS actions_types = list() /obj/item/gun/projectile/automatic/pistol/update_icon_state() - icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]" + icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"]" + +/obj/item/gun/projectile/automatic/pistol/update_overlays() + . = list() + if(suppressed) + . += image(icon = 'icons/tgmc/objects/attachments.dmi', icon_state = "suppressor_attached", pixel_x = 15, pixel_y = 5) + if(gun_light) + var/flashlight = "uflashlight_attached" + if(gun_light.on) + flashlight = "uflashlight_attached-on" + . += image(icon = 'icons/tgmc/objects/attachments.dmi', icon_state = flashlight, pixel_x = 5, pixel_y = -2) + +/obj/item/gun/projectile/automatic/pistol/ui_action_click() + toggle_gunlight() //M1911// /obj/item/gun/projectile/automatic/pistol/m1911 name = "\improper M1911" desc = "A classic .45 handgun with a small magazine capacity." icon_state = "m1911" + item_state = "m1911" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/m45 can_suppress = FALSE +/obj/item/gun/projectile/automatic/pistol/update_overlays() + . = list() + if(gun_light) + var/flashlight = "uflashlight_attached" + if(gun_light.on) + flashlight = "uflashlight_attached-on" + . += image(icon = 'icons/tgmc/objects/attachments.dmi', icon_state = flashlight, pixel_x = 5, pixel_y = -1) + //Enforcer// /obj/item/gun/projectile/automatic/pistol/enforcer name = "\improper NF10 'Enforcer' pistol" desc = "A 9mm sidearm commonly used by Nanotrasen Asset Protection." icon_state = "enforcer_grey" + item_state = "enforcer_grey" force = 10 mag_type = /obj/item/ammo_box/magazine/enforcer unique_reskin = TRUE - can_flashlight = TRUE /obj/item/gun/projectile/automatic/pistol/enforcer/Initialize(mapload) . = ..() - options["Grey slide"] = "enforcer_grey" - options["Red slide"] = "enforcer_red" - options["Green slide"] = "enforcer_green" - options["Tan slide"] = "enforcer_tan" - options["Black slide"] = "enforcer_black" - options["Green Handle"] = "enforcer_greengrip" - options["Tan Handle"] = "enforcer_tangrip" - options["Red Handle"] = "enforcer_redgrip" + options["Grey"] = "enforcer_grey" + options["Red"] = "enforcer_red" + options["Green"] = "enforcer_green" + options["Tan"] = "enforcer_tan" + options["Black"] = "enforcer_black" + options["Blue"] = "enforcer_blue" + options["Brown"] = "enforcer_brown" /obj/item/gun/projectile/automatic/pistol/enforcer/update_icon_state() if(current_skin) - icon_state = "[current_skin][chambered ? "" : "-e"]" + icon_state = "[current_skin][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"]" else - icon_state = "[initial(icon_state)][chambered ? "" : "-e"]" + icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"]" /obj/item/gun/projectile/automatic/pistol/enforcer/update_overlays() . = list() if(suppressed) - . += image(icon = icon, icon_state = "enforcer_supp", pixel_x = 4) + . += image(icon = 'icons/tgmc/objects/attachments.dmi', icon_state = "suppressor_attached", pixel_x = 15, pixel_y = 5) if(gun_light) - var/flashlight = "Enforcer_light" + var/flashlight = "uflashlight_attached" if(gun_light.on) - flashlight = "Enforcer_light-on" - . += image(icon = icon, icon_state = flashlight, pixel_x = 0) - -/obj/item/gun/projectile/automatic/pistol/enforcer/ui_action_click() - toggle_gunlight() + flashlight = "uflashlight_attached-on" + . += image(icon = 'icons/tgmc/objects/attachments.dmi', icon_state = flashlight, pixel_x = 5, pixel_y = -2) /obj/item/gun/projectile/automatic/pistol/enforcer/lethal mag_type = /obj/item/ammo_box/magazine/enforcer/lethal @@ -72,7 +96,10 @@ /obj/item/gun/projectile/automatic/pistol/deagle name = "\improper Desert Eagle" desc = "A robust .50 AE handgun." + icon = 'icons/obj/guns/projectile.dmi' icon_state = "deagle" + lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/guns_righthand.dmi' force = 14.0 mag_type = /obj/item/ammo_box/magazine/m50 fire_sound = 'sound/weapons/gunshots/gunshot_pistolH.ogg' @@ -90,11 +117,12 @@ icon_state = "deaglecamo" item_state = "deagleg" -//APS Pistol// -/obj/item/gun/projectile/automatic/pistol/aps - name = "stechkin APS pistol" - desc = "A deadly automatic pistol produced by the USSP's State Armory. Uses 10mm ammo." - icon_state = "aps" +//Type 230 Machine Pistol// +/obj/item/gun/projectile/automatic/pistol/type_230 + name = "\improper Type 230 Machine Pistol" + desc = "A compact submachine gun produced by the USSP-based Rocino Armaments Collective. Chambered in 10mm." + icon_state = "type_230" + item_state = "type_230" w_class = WEIGHT_CLASS_NORMAL mag_type = /obj/item/ammo_box/magazine/apsm10mm can_suppress = FALSE diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index c04384e9603..f0b1706d3cf 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -2,7 +2,11 @@ name = "\improper .357 magnum revolver" desc = "A powerful revolver commonly used by the Syndicate. Uses .357 magnum ammo." materials = list() + icon = 'icons/tgmc/objects/guns.dmi' icon_state = "revolver" + item_state = "revolver" + lefthand_file = 'icons/tgmc/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/tgmc/mob/inhands/guns_righthand.dmi' mag_type = /obj/item/ammo_box/magazine/internal/cylinder origin_tech = "combat=3;materials=2" fire_sound = 'sound/weapons/gunshots/gunshot_strong.ogg' @@ -113,7 +117,10 @@ /obj/item/gun/projectile/revolver/fingergun name = "finger gun" desc = "Bang bang bang!" + icon = 'icons/obj/guns/projectile.dmi' icon_state = "fingergun" + lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi' + righthand_file = 'icons/mob/inhands/guns_righthand.dmi' force = 0 mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible origin_tech = "" @@ -170,11 +177,14 @@ name = "\improper Unica 6 auto-revolver" desc = "A retro high-powered autorevolver typically used by officers of several unrelated militaries. Uses .357 ammo." //>10mm hole >.357 icon_state = "mateba" + item_state = "mateba" /obj/item/gun/projectile/revolver/golden name = "\improper Golden revolver" desc = "This ain't no game, ain't never been no show, And I'll gladly gun down the oldest lady you know. Uses .357 ammo." + icon = 'icons/tgmc/objects/guns64.dmi' icon_state = "goldrevolver" + item_state = "goldrevolver" fire_sound = 'sound/weapons/resonator_blast.ogg' recoil = 8 @@ -182,13 +192,20 @@ name = "\improper Nagant revolver" desc = "An old model of revolver that originated in Russia, now used by the USSP. Able to be suppressed. Uses 7.62x38mmR ammo." icon_state = "nagant" + item_state = "nagant" origin_tech = "combat=3" can_suppress = TRUE mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762 +/obj/item/gun/projectile/revolver/nagant/update_overlays() + . = list() + if(suppressed) + . += image(icon = 'icons/obj/guns/attachments.dmi', icon_state = "suppressor_attached", pixel_x = 15, pixel_y = 6) + /obj/item/gun/projectile/revolver/overgrown name = "overgrown revolver" desc = "A bulky revolver that seems to be made out of a plant." + icon = 'icons/obj/guns/projectile.dmi' icon_state = "pea_shooter" item_state = "peashooter" w_class = WEIGHT_CLASS_BULKY @@ -216,6 +233,7 @@ /obj/item/gun/projectile/revolver/doublebarrel name = "\improper CM150 double-barreled shotgun" desc = "A true classic, by Starstrike Arms." + icon = 'icons/obj/guns/projectile.dmi' icon_state = "dbshotgun" item_state = null lefthand_file = 'icons/mob/inhands/64x64_guns_lefthand.dmi' diff --git a/code/modules/projectiles/guns/projectile/toy.dm b/code/modules/projectiles/guns/projectile/toy.dm index c85627692f4..bf5cef843b4 100644 --- a/code/modules/projectiles/guns/projectile/toy.dm +++ b/code/modules/projectiles/guns/projectile/toy.dm @@ -42,17 +42,17 @@ can_flashlight = TRUE /obj/item/gun/projectile/automatic/toy/pistol/enforcer/update_icon_state() - icon_state = "[initial(icon_state)][chambered ? "" : "-e"]" + icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"]" /obj/item/gun/projectile/automatic/toy/pistol/enforcer/update_overlays() . = ..() if(suppressed) - . += image(icon = 'icons/obj/guns/projectile.dmi', icon_state = "enforcer_supp", pixel_x = 5) + . += image(icon = 'icons/obj/guns/attachments.dmi', icon_state = "suppressor_attached", pixel_x = 15, pixel_y = 5) if(gun_light) - var/flashlight = "Enforcer_light" + var/flashlight = "uflashlight_attached" if(gun_light.on) - flashlight = "Enforcer_light-on" - . += image(icon = 'icons/obj/guns/projectile.dmi', icon_state = flashlight, pixel_x = 0) + flashlight = "uflashlight_attached-on" + . += image(icon = 'icons/obj/guns/attachments.dmi', icon_state = flashlight, pixel_x = 5, pixel_y = -2) /obj/item/gun/projectile/automatic/toy/pistol/enforcer/ui_action_click() toggle_gunlight() diff --git a/code/modules/projectiles/guns/projectile_gun.dm b/code/modules/projectiles/guns/projectile_gun.dm index c5a408d68ec..01f7cb697f8 100644 --- a/code/modules/projectiles/guns/projectile_gun.dm +++ b/code/modules/projectiles/guns/projectile_gun.dm @@ -1,7 +1,7 @@ /obj/item/gun/projectile desc = "Now comes in flavors like GUN. Uses 10mm ammo, for some reason" name = "projectile gun" - icon_state = "pistol" + icon_state = "tommygun" origin_tech = "combat=2;materials=2" materials = list(MAT_METAL=1000) diff --git a/docs/mapping/spawn_pools.md b/docs/mapping/spawn_pools.md index cf4e56307e8..efde27a5528 100644 --- a/docs/mapping/spawn_pools.md +++ b/docs/mapping/spawn_pools.md @@ -55,7 +55,7 @@ And then we create the spawners we want, all subtypes of /obj/effect/spawner/random/pool/space_loot/tier3 point_value = 100 loot = list( - /obj/item/gun/projectile/automatic/pistol/APS = 2, + /obj/item/gun/projectile/automatic/pistol/type_230 = 2, /obj/item/gun/projectile/automatic/l6_saw = 1, ) ``` diff --git a/icons/mob/inhands/guns_lefthand.dmi b/icons/mob/inhands/guns_lefthand.dmi index a992479645e..3d6e06f3a0d 100644 Binary files a/icons/mob/inhands/guns_lefthand.dmi and b/icons/mob/inhands/guns_lefthand.dmi differ diff --git a/icons/mob/inhands/guns_righthand.dmi b/icons/mob/inhands/guns_righthand.dmi index 591b9cd3698..69cd6ee30b6 100644 Binary files a/icons/mob/inhands/guns_righthand.dmi and b/icons/mob/inhands/guns_righthand.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index b19f65eeb33..e086eb288dd 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/guns/attachments.dmi b/icons/obj/guns/attachments.dmi new file mode 100644 index 00000000000..cf74d73796c Binary files /dev/null and b/icons/obj/guns/attachments.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index d33ad927331..25d563e1f3e 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/guns/projectile64.dmi b/icons/obj/guns/projectile64.dmi new file mode 100644 index 00000000000..7854fabe2bf Binary files /dev/null and b/icons/obj/guns/projectile64.dmi differ diff --git a/icons/obj/guns/toy.dmi b/icons/obj/guns/toy.dmi index a67bd4916ce..b30a83a0c53 100644 Binary files a/icons/obj/guns/toy.dmi and b/icons/obj/guns/toy.dmi differ diff --git a/icons/tgmc/LICENSE.md b/icons/tgmc/LICENSE.md new file mode 100644 index 00000000000..303cf0fdd58 --- /dev/null +++ b/icons/tgmc/LICENSE.md @@ -0,0 +1,2 @@ +All files located in this directory and any subdirectories are licensed under the +Creative Commons 4.0 BY-NC license (https://creativecommons.org/licenses/by-nc/4.0) diff --git a/icons/tgmc/mob/inhands/guns_lefthand.dmi b/icons/tgmc/mob/inhands/guns_lefthand.dmi new file mode 100644 index 00000000000..1bc4d3ba765 Binary files /dev/null and b/icons/tgmc/mob/inhands/guns_lefthand.dmi differ diff --git a/icons/tgmc/mob/inhands/guns_righthand.dmi b/icons/tgmc/mob/inhands/guns_righthand.dmi new file mode 100644 index 00000000000..e637f26bd84 Binary files /dev/null and b/icons/tgmc/mob/inhands/guns_righthand.dmi differ diff --git a/icons/tgmc/objects/ammo.dmi b/icons/tgmc/objects/ammo.dmi new file mode 100644 index 00000000000..4a32fdb95a4 Binary files /dev/null and b/icons/tgmc/objects/ammo.dmi differ diff --git a/icons/tgmc/objects/attachments.dmi b/icons/tgmc/objects/attachments.dmi new file mode 100644 index 00000000000..4a71d222f85 Binary files /dev/null and b/icons/tgmc/objects/attachments.dmi differ diff --git a/icons/tgmc/objects/guns.dmi b/icons/tgmc/objects/guns.dmi new file mode 100644 index 00000000000..e5650e50ad0 Binary files /dev/null and b/icons/tgmc/objects/guns.dmi differ diff --git a/icons/tgmc/objects/guns64.dmi b/icons/tgmc/objects/guns64.dmi new file mode 100644 index 00000000000..5a1138b9efc Binary files /dev/null and b/icons/tgmc/objects/guns64.dmi differ diff --git a/paradise.dme b/paradise.dme index ca19945519a..dc13031e6b3 100644 --- a/paradise.dme +++ b/paradise.dme @@ -480,10 +480,10 @@ #include "code\datums\ai\basic_mobs\basic_subtrees\tip_reaction.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\use_mob_ability.dm" #include "code\datums\ai\basic_mobs\basic_subtrees\ventcrawl_subtree.dm" +#include "code\datums\ai\basic_mobs\generic_controllers\hostile_controllers.dm" #include "code\datums\ai\basic_mobs\hunting_behavior\find_and_hunt_target.dm" #include "code\datums\ai\basic_mobs\hunting_behavior\find_hunt_target.dm" #include "code\datums\ai\basic_mobs\hunting_behavior\hunt_target.dm" -#include "code\datums\ai\basic_mobs\generic_controllers\hostile_controllers.dm" #include "code\datums\ai\generic\find_and_set.dm" #include "code\datums\ai\generic\generic_behaviors.dm" #include "code\datums\ai\idle_behaviors\idle_behavior.dm"