diff --git a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm index 6460937bfe57..a89e65715d6a 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/impact.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/impact.dm @@ -40,3 +40,11 @@ /obj/effect/projectile/impact/laser/emitter name = "emitter impact" icon_state = "impact_emitter" + +/obj/effect/projectile/impact/kalix + name = "beam impact" + icon_state = "impact_pgf" + +/obj/effect/projectile/impact/pgf + name = "beam impact" + icon_state = "impact_pgf" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm index 697a3f633d81..e684c2826bca 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/muzzle.dm @@ -32,3 +32,9 @@ /obj/effect/projectile/muzzle/wormhole icon_state = "wormhole_g" + +/obj/effect/projectile/muzzle/pgf + icon_state = "muzzle_pgf" + +/obj/effect/projectile/muzzle/kalix + icon_state = "muzzle_kalix" diff --git a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm index be7962324f6d..776e6841d29c 100644 --- a/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm +++ b/code/game/objects/effects/temporary_visuals/projectiles/tracer.dm @@ -70,3 +70,9 @@ /obj/effect/projectile/tracer/wormhole icon_state = "wormhole_g" + +/obj/effect/projectile/tracer/pgf + icon_state = "beam_pgf" + +/obj/effect/projectile/tracer/kalix + icon_state = "beam_kalix" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 8a5e31f3fec8..df7c5ae431c5 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -32,7 +32,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb ///Icon file for mob worn overlays. var/icon/mob_overlay_icon ///icon state for mob worn overlays, if null the normal icon_state will be used. - var/mob_overlay_state //WS EDIT - Mob Overlay State + var/mob_overlay_state ///Forced mob worn layer instead of the standard preferred ssize. var/alternate_worn_layer diff --git a/code/modules/clothing/factions/gezena.dm b/code/modules/clothing/factions/gezena.dm new file mode 100644 index 000000000000..81a525ec5ab9 --- /dev/null +++ b/code/modules/clothing/factions/gezena.dm @@ -0,0 +1,276 @@ +//Jumpsuits +//thgvr TODO: Make more stuff (backpacks, headsets, doodads, part 2?) +/obj/item/clothing/under/gezena + name = "gezenan navywear" + desc = "Made of a slick synthetic material that is both breathable, and resistant to scale and thorn alike." + icon = 'icons/obj/clothing/faction/gezena/uniforms.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/uniforms.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "naval" + item_state = "bluejump" + supports_variations = DIGITIGRADE_VARIATION + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 40) + +/obj/item/clothing/under/gezena/captain + name = "gezenan captain's navywear" + desc = "A refined variation of the basic navywear, sporting sleek silver trim." + icon_state = "captain" + item_state = "bluejump" + +/obj/item/clothing/under/gezena/marine + name = "gezenan marine fatigue" + desc = "Rough inside and out, these fatigues have seen their fair share." + icon_state = "marine" + item_state = "marinejump" + +//Unarmored suit + +/obj/item/clothing/suit/toggle/gezena + name = "silkenweave jacket" + desc = "Refined and sturdy, emblazoned below the neck with the Federation's symbol." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "lightcoat" + item_state = "bluecloth" + blood_overlay_type = "coat" + togglename = "zipper" + body_parts_covered = CHEST|ARMS + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 20, "bullet" = 20, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 0) + +//Armored suit + +/obj/item/clothing/suit/armor/gezena + name = "navywear coat" + desc = "Formal navywear, emblazoned across the back with the Gezenan sigil." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "coat" + item_state = "bluecloth" + blood_overlay_type = "coat" + body_parts_covered = CHEST|ARMS|GROIN|LEGS + pocket_storage_component_path = /datum/component/storage/concrete/pockets/exo + supports_variations = DIGITIGRADE_VARIATION_NO_NEW_ICON + armor = list("melee" = 35, "bullet" = 35, "laser" = 20, "energy" = 40, "bomb" = 20, "bio" = 20, "rad" = 0, "fire" = 50, "acid" = 50) + allowed = list( + /obj/item/flashlight, + /obj/item/tank/internals/emergency_oxygen, + /obj/item/tank/internals/plasmaman, + /obj/item/toy, + /obj/item/storage/fancy/cigarettes, + /obj/item/lighter, + /obj/item/radio, + /obj/item/gun/energy/kalix, + ) + +/obj/item/clothing/suit/armor/gezena/engi + name = "engineer navywear coat" + desc = "Oil and stain resistant, with orange trim signifiying the wearer doesn't mind getting their hands dirty." + icon_state = "engicoat" + item_state = "bluecloth" + +/obj/item/clothing/suit/armor/gezena/captain + name = "captain's navywear coat" + desc = "Blood resistant, with silver trim to denote status. Lined with softer material." + icon_state = "captaincoat" + item_state = "captaincoat" + +/obj/item/clothing/suit/armor/gezena/marine + name = "\improper Raksha-plating vest" + desc = "Raksha - a Kalixcian word for 'protection of the heart'. Sturdy and reliable." + icon_state = "marinevest" + item_state = "marinevest" + +/obj/item/clothing/suit/armor/gezena/marinecoat + name = "coated Raksha-plating" + desc = "Less practical with the coat than without." + icon_state = "marinecoat" + item_state = "bluecloth" + +//Spacesuits + +/obj/item/clothing/suit/space/gezena + name = "\improper Rakalla-suit" + desc = "Rakalla - a Kalixcian word for 'protection among the stars'. Sturdy, flexible, and reliable." + icon = 'icons/obj/clothing/faction/gezena/suits.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/suits.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "spacesuit" + item_state = "spacesuit" + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 15, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + w_class = WEIGHT_CLASS_NORMAL + supports_variations = DIGITIGRADE_VARIATION + +/obj/item/clothing/head/helmet/space/gezena + name = "\improper Rakalla-helm" + desc = "Featuring rubberized grommets fitting for any length of horn, and an internal monitor for life support." + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "spacehelmet" + item_state = "spacehelm" + armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 15, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) + w_class = WEIGHT_CLASS_NORMAL + +//Hats + +/obj/item/clothing/head/gezena + name = "navywear cap" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "navalhat" + item_state = "bluecloth" + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + +/obj/item/clothing/head/gezena/flap + name = "navywear flap-hat" + desc = "PH" + icon_state = "navalflap" + item_state = "bluecloth" + +/obj/item/clothing/head/gezena/marine + name = "\improper Gezenan marine cap" + desc = "PH" + icon_state = "marinehat" + item_state = "marinecloth" + +/obj/item/clothing/head/gezena/marine/flap + name = "\improper Gezenan marine flap-hat" + desc = "PH" + icon_state = "marineflap" + item_state = "marinecloth" + +/obj/item/clothing/head/gezena/medic + name = "PGF medic hat" + desc = "PH" + icon_state = "medichat" + item_state = "whitecloth" + +/obj/item/clothing/head/gezena/medic/flap + name = "PGF navy flap hat" + desc = "PH" + icon_state = "medicflap" + item_state = "whitecloth" + +/obj/item/clothing/head/gezena/captain // no captain flap yet(?) + name = "captain's navywear cap" + desc = "PH" + icon_state = "captainhat" + item_state = "bluecloth" + +/obj/item/clothing/head/helmet/gezena + name = "\improper Raksha-helm" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/head.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/head.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "marinehelmet" + item_state = "marinehelm" + +//Gloves + +/obj/item/clothing/gloves/gezena + name = "navywear gloves" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/hands.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/hands.dmi' + icon_state = "navalgloves" + item_state = "navalgloves" + cold_protection = HANDS + min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT + armor = list("melee" = 5, "bullet" = 5, "laser" = 5, "energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + +/obj/item/clothing/gloves/gezena/marine + name = "gezenan infantry gloves" + desc = "PH" + icon_state = "marinegloves" + item_state = "marinegloves" + armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 50) + +/obj/item/clothing/gloves/gezena/engi + name = "gezenan engineering gloves" + desc = "PH" + icon_state = "engigloves" + item_state = "engigloves" + siemens_coefficient = 0 + +/obj/item/clothing/gloves/gezena/captain + name = "captain's navywear gloves" + desc = "PH" + icon_state = "captaingloves" + item_state = "captaingloves" + siemens_coefficient = 0 + +//Boots + +/obj/item/clothing/shoes/combat/gezena + name = "gezenan steel-boots" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/feet.dmi' + //mob_overlay_icon = 'icons/mob/clothing/faction/gezena/feet.dmi' todo: find out why digi breaks here + icon_state = "pgfboots" + item_state = "pgfboots" + +//Belt + +/obj/item/storage/belt/military/gezena + name = "infantry pouches" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "pouches" + item_state = "bluecloth" + +/obj/item/storage/belt/medical/gezena + name = "infantry medical pouches" + desc = "PH" + icon = 'icons/obj/clothing/faction/gezena/belt.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "medpouches" + item_state = "whitecloth" + +//Capes + +/obj/item/clothing/neck/cloak/gezena + name = "gezenan half-cape" + desc = "PH." + icon = 'icons/obj/clothing/faction/gezena/neck.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/neck.dmi' + lefthand_file = 'icons/mob/inhands/faction/gezena/gezena_lefthand.dmi' + righthand_file = 'icons/mob/inhands/faction/gezena/gezena_righthand.dmi' + icon_state = "cape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/engi + name = "gezenan engineer's half-cape" + desc = "PH." + icon_state = "engicape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/med + name = "gezenan medic's half-cape" + desc = "PH." + icon_state = "medcape" + item_state = "blackcloth" + +/obj/item/clothing/neck/cloak/gezena/captain + name = "gezenan captain's half-cape" + desc = "PH." + icon_state = "captaincape" + item_state = "blackcloth" diff --git a/code/modules/clothing/outfits/gezena.dm b/code/modules/clothing/outfits/gezena.dm new file mode 100644 index 000000000000..b9fc26afeff1 --- /dev/null +++ b/code/modules/clothing/outfits/gezena.dm @@ -0,0 +1,17 @@ +/datum/outfit/job/gezena + +/datum/outfit/job/gezena/post_equip(mob/living/carbon/human/H, visualsOnly) + . = ..() + if(visualsOnly) + return + H.faction |= list("playergezena") + +/datum/outfit/job/gezena/assistant + name = "Deckhand (PGF)" + jobtype = /datum/job/assistant + + head = /obj/item/clothing/head/gezena + uniform = /obj/item/clothing/under/gezena + suit = /obj/item/clothing/suit/toggle/gezena + gloves = /obj/item/clothing/gloves/gezena + shoes = /obj/item/clothing/shoes/combat/gezena diff --git a/code/modules/clothing/suits/cloaks.dm b/code/modules/clothing/suits/cloaks.dm index d584d07b9bfd..14f721334462 100644 --- a/code/modules/clothing/suits/cloaks.dm +++ b/code/modules/clothing/suits/cloaks.dm @@ -12,7 +12,6 @@ greyscale_colors = list(list(11, 15), list(12, 22), list(12, 22)) greyscale_icon_state = "cloak" - /obj/item/clothing/neck/cloak/hos name = "head of security's cloak" desc = "Worn by Securistan, ruling their watch with an iron fist." diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 66f1f74f11c1..3f6bb2fe5c0a 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -412,7 +412,7 @@ maxcharge = 10000 custom_materials = list(/datum/material/glass=60) chargerate = 1500 - rating = 0 //gun batteries now incompatible with RPED WS edit + rating = 0 //Makes it incompatible with RPED /obj/item/stock_parts/cell/gun/empty/Initialize() . = ..() @@ -476,6 +476,19 @@ charge = 0 update_appearance() +/obj/item/stock_parts/cell/gun/kalix + name = "PGF CELL PH" + desc = "PGF CELL PH" + icon_state = "kalix-cell" + maxcharge = 12750 // 15 shots at 850 energy per + chargerate = 1750 + +/obj/item/stock_parts/cell/gun/pgf + name = "pgf CELL PH" + desc = "pgf CELL PH" + icon_state = "pgf-cell" + maxcharge = 20000 // 20 shots at 1000 energy per + chargerate = 2000 #undef CELL_DRAIN_TIME #undef CELL_POWER_GAIN diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 1e2d92996077..ef8d63ff65a8 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -7,7 +7,7 @@ e_cost = 830 select_name = "kill" -/obj/item/ammo_casing/energy/laser/smg //WS edit: fun +/obj/item/ammo_casing/energy/laser/smg projectile_type = /obj/projectile/beam/laser/weak/negative_ap e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded select_name = "kill" diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 8402e199c438..0bfccb6b9113 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -25,7 +25,7 @@ var/vary_fire_sound = TRUE var/fire_sound_volume = 50 var/dry_fire_sound = 'sound/weapons/gun/general/dry_fire.ogg' - var/dry_fire_text = "click" //change this on non-gun things WS Edit - Dry firing + var/dry_fire_text = "click" //change this on non-gun things var/suppressed = null //whether or not a message is displayed when fired var/can_suppress = FALSE var/suppressed_sound = 'sound/weapons/gun/general/heavy_shot_suppressed.ogg' @@ -34,17 +34,17 @@ var/clumsy_check = TRUE var/obj/item/ammo_casing/chambered = null trigger_guard = TRIGGER_GUARD_NORMAL //trigger guard on the weapon, hulks can't fire them with their big meaty fingers - var/sawn_desc = null //description change if weapon is sawn-off + var/sawn_desc = null //description change if weapon is sawn-off var/sawn_off = FALSE - var/burst_size = 1 //how large a burst is - var/fire_delay = 0 //rate of fire for burst firing and semi auto - var/firing_burst = 0 //Prevent the weapon from firing again while already firing - var/semicd = 0 //cooldown handler + var/burst_size = 1 //how large a burst is + var/fire_delay = 0 //rate of fire for burst firing and semi auto + var/firing_burst = 0 //Prevent the weapon from firing again while already firing + var/semicd = 0 //cooldown handler var/weapon_weight = WEAPON_LIGHT var/dual_wield_spread = 24 //additional spread when dual wielding var/randomspread = 1 //Set to 0 for shotguns. This is used for weapons that don't fire all their bullets at once. - var/projectile_damage_multiplier = 1 //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. + var/projectile_damage_multiplier = 1 //Alters projectile damage multiplicatively based on this value. Use it for "better" or "worse" weapons that use the same ammo. lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi' diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 943c1319a4a0..2a16164c6119 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -221,10 +221,15 @@ . = ..() if(!automatic_charge_overlays || QDELETED(src)) return - // Every time I see code this "flexible", a kitten fucking dies + // Every time I see code this "flexible", a kitten fucking dies //it got worse + //todo: refactor this a bit to allow showing of charge on a gun's cell var/overlay_icon_state = "[icon_state]_charge" var/obj/item/ammo_casing/energy/shot = ammo_type[modifystate ? select : 1] var/ratio = get_charge_ratio() + if(cell) + . += "[icon_state]_cell" + if(ratio == 0) + . += "[icon_state]_cellempty" if(ratio == 0) if(modifystate) . += "[icon_state]_[shot.select_name]" diff --git a/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm new file mode 100644 index 000000000000..124fb0b0010b --- /dev/null +++ b/code/modules/projectiles/guns/faction/gezena/energy_gunsword.dm @@ -0,0 +1,77 @@ +/obj/item/gun/energy/kalix //blue //todo: fix up belt_mirror.dmi, it's incomprehensible + name = "\improper Kalixcian light beamgun" + desc = "PH PGF DESC" + icon_state = "kalixgun" + item_state = "kalixgun" + icon = 'icons/obj/guns/faction/gezena/energy.dmi' + lefthand_file = 'icons/obj/guns/faction/gezena/lefthand.dmi' + righthand_file = 'icons/obj/guns/faction/gezena/righthand.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/belt.dmi' + w_class = WEIGHT_CLASS_BULKY + + cell_type = /obj/item/stock_parts/cell/gun/pgf + ammo_type = list(/obj/item/ammo_casing/energy/kalix) + + load_sound = 'sound/weapons/gun/gauss/pistol_reload.ogg' + +/obj/projectile/beam/hitscan/kalix + name = "concentrated energy" + tracer_type = /obj/effect/projectile/tracer/kalix + muzzle_type = /obj/effect/projectile/muzzle/kalix + impact_type = /obj/effect/projectile/impact/kalix + hitscan_light_color_override = LIGHT_COLOR_ELECTRIC_CYAN + muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_CYAN + impact_light_color_override = LIGHT_COLOR_ELECTRIC_CYAN + range = 10 + +/obj/item/ammo_casing/energy/kalix + projectile_type = /obj/projectile/beam/hitscan/kalix + fire_sound = 'sound/weapons/gun/energy/laserpistol.ogg' + e_cost = 850 + +/obj/item/gun/energy/kalix/pgf + name = "\improper Gezenan light beamgun" + desc = "PH PGF DESC" + icon_state = "pgfgun" + item_state = "pgfgun" + + cell_type = /obj/item/stock_parts/cell/gun/pgf + ammo_type = list(/obj/item/ammo_casing/energy/pgf) + +/obj/projectile/beam/hitscan/pgf + name = "concentrated energy" + tracer_type = /obj/effect/projectile/tracer/pgf + muzzle_type = /obj/effect/projectile/muzzle/pgf + impact_type = /obj/effect/projectile/impact/pgf + hitscan_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN + muzzle_flash_color_override = LIGHT_COLOR_ELECTRIC_GREEN + impact_light_color_override = LIGHT_COLOR_ELECTRIC_GREEN + damage_constant = 0.9 + damage = 25 + range = 6 + +/obj/item/ammo_casing/energy/pgf + projectile_type = /obj/projectile/beam/hitscan/pgf + fire_sound = 'sound/weapons/gun/energy/laserpistol.ogg' + e_cost = 1000 + +/obj/item/gun/energy/kalix/pgf/heavy //todo: make it actually use wielded component, or some other solution for twohanding, as it really sucks right now + name = "\improper Gezenan heavy beamgun" + desc = "PH PGF HEAVY DESC" + icon_state = "pgfheavy" + item_state = "pgfheavy" + icon = 'icons/obj/guns/faction/gezena/48x32.dmi' + mob_overlay_icon = 'icons/mob/clothing/faction/gezena/back.dmi' + w_class = WEIGHT_CLASS_HUGE + slot_flags = ITEM_SLOT_BACK + + ammo_type = list(/obj/item/ammo_casing/energy/pgf/heavy) + +/obj/projectile/beam/hitscan/pgf/heavy + damage = 35 + range = 12 + +/obj/item/ammo_casing/energy/pgf/heavy + projectile_type = /obj/projectile/beam/hitscan/pgf/heavy + fire_sound = 'sound/weapons/gun/energy/lasersniper.ogg' + e_cost = 2000 diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index 105b302b7ffb..a82a1e208f85 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi index 02e39b1a0ae4..377d505a5e05 100644 Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ diff --git a/icons/mob/clothing/faction/gezena/back.dmi b/icons/mob/clothing/faction/gezena/back.dmi new file mode 100644 index 000000000000..1c5ef723b094 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/back.dmi differ diff --git a/icons/mob/clothing/faction/gezena/belt.dmi b/icons/mob/clothing/faction/gezena/belt.dmi new file mode 100644 index 000000000000..cdd27bcf1e96 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/belt.dmi differ diff --git a/icons/mob/clothing/faction/gezena/feet.dmi b/icons/mob/clothing/faction/gezena/feet.dmi new file mode 100644 index 000000000000..f0d1fb0a6550 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/feet.dmi differ diff --git a/icons/mob/clothing/faction/gezena/hands.dmi b/icons/mob/clothing/faction/gezena/hands.dmi new file mode 100644 index 000000000000..8e9a99d30dab Binary files /dev/null and b/icons/mob/clothing/faction/gezena/hands.dmi differ diff --git a/icons/mob/clothing/faction/gezena/head.dmi b/icons/mob/clothing/faction/gezena/head.dmi new file mode 100644 index 000000000000..c2c20b63e559 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/head.dmi differ diff --git a/icons/mob/clothing/faction/gezena/neck.dmi b/icons/mob/clothing/faction/gezena/neck.dmi new file mode 100644 index 000000000000..9b3fa0c9bbab Binary files /dev/null and b/icons/mob/clothing/faction/gezena/neck.dmi differ diff --git a/icons/mob/clothing/faction/gezena/suits.dmi b/icons/mob/clothing/faction/gezena/suits.dmi new file mode 100644 index 000000000000..c76b3368c644 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/suits.dmi differ diff --git a/icons/mob/clothing/faction/gezena/uniforms.dmi b/icons/mob/clothing/faction/gezena/uniforms.dmi new file mode 100644 index 000000000000..4f3d45acbed2 Binary files /dev/null and b/icons/mob/clothing/faction/gezena/uniforms.dmi differ diff --git a/icons/mob/clothing/feet.dmi b/icons/mob/clothing/feet.dmi index fe964b935915..d9580eff1b42 100644 Binary files a/icons/mob/clothing/feet.dmi and b/icons/mob/clothing/feet.dmi differ diff --git a/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi b/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi new file mode 100644 index 000000000000..002fd97dafa0 Binary files /dev/null and b/icons/mob/inhands/faction/gezena/gezena_lefthand.dmi differ diff --git a/icons/mob/inhands/faction/gezena/gezena_righthand.dmi b/icons/mob/inhands/faction/gezena/gezena_righthand.dmi new file mode 100644 index 000000000000..0c2bd0479004 Binary files /dev/null and b/icons/mob/inhands/faction/gezena/gezena_righthand.dmi differ diff --git a/icons/mob/species/misc/digitigrade.dmi b/icons/mob/species/misc/digitigrade.dmi index 0b63589ed0eb..6af4794ee213 100644 Binary files a/icons/mob/species/misc/digitigrade.dmi and b/icons/mob/species/misc/digitigrade.dmi differ diff --git a/icons/mob/species/misc/digitigrade_shoes.dmi b/icons/mob/species/misc/digitigrade_shoes.dmi index c5316bab988f..9ad6cc1827ed 100644 Binary files a/icons/mob/species/misc/digitigrade_shoes.dmi and b/icons/mob/species/misc/digitigrade_shoes.dmi differ diff --git a/icons/mob/species/misc/digitigrade_suits.dmi b/icons/mob/species/misc/digitigrade_suits.dmi index eaca5e34a629..31dd9ad9c8e6 100644 Binary files a/icons/mob/species/misc/digitigrade_suits.dmi and b/icons/mob/species/misc/digitigrade_suits.dmi differ diff --git a/icons/obj/clothing/faction/gezena/belt.dmi b/icons/obj/clothing/faction/gezena/belt.dmi new file mode 100644 index 000000000000..b07676386259 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/belt.dmi differ diff --git a/icons/obj/clothing/faction/gezena/feet.dmi b/icons/obj/clothing/faction/gezena/feet.dmi new file mode 100644 index 000000000000..f3a23a70de35 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/feet.dmi differ diff --git a/icons/obj/clothing/faction/gezena/hands.dmi b/icons/obj/clothing/faction/gezena/hands.dmi new file mode 100644 index 000000000000..3daa7c762d38 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/hands.dmi differ diff --git a/icons/obj/clothing/faction/gezena/head.dmi b/icons/obj/clothing/faction/gezena/head.dmi new file mode 100644 index 000000000000..11454b333921 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/head.dmi differ diff --git a/icons/obj/clothing/faction/gezena/neck.dmi b/icons/obj/clothing/faction/gezena/neck.dmi new file mode 100644 index 000000000000..19d51f6a64ae Binary files /dev/null and b/icons/obj/clothing/faction/gezena/neck.dmi differ diff --git a/icons/obj/clothing/faction/gezena/suits.dmi b/icons/obj/clothing/faction/gezena/suits.dmi new file mode 100644 index 000000000000..09e00adf3289 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/suits.dmi differ diff --git a/icons/obj/clothing/faction/gezena/uniforms.dmi b/icons/obj/clothing/faction/gezena/uniforms.dmi new file mode 100644 index 000000000000..ed9a863e3d57 Binary files /dev/null and b/icons/obj/clothing/faction/gezena/uniforms.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index efc8359fc5cf..a17d4b5b2bff 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/guns/faction/gezena/48x32.dmi b/icons/obj/guns/faction/gezena/48x32.dmi new file mode 100644 index 000000000000..91e2ef30d785 Binary files /dev/null and b/icons/obj/guns/faction/gezena/48x32.dmi differ diff --git a/icons/obj/guns/faction/gezena/energy.dmi b/icons/obj/guns/faction/gezena/energy.dmi new file mode 100644 index 000000000000..92d88bbab4e6 Binary files /dev/null and b/icons/obj/guns/faction/gezena/energy.dmi differ diff --git a/icons/obj/guns/faction/gezena/lefthand.dmi b/icons/obj/guns/faction/gezena/lefthand.dmi new file mode 100644 index 000000000000..9bec84cd36bb Binary files /dev/null and b/icons/obj/guns/faction/gezena/lefthand.dmi differ diff --git a/icons/obj/guns/faction/gezena/righthand.dmi b/icons/obj/guns/faction/gezena/righthand.dmi new file mode 100644 index 000000000000..d2d76ebb433d Binary files /dev/null and b/icons/obj/guns/faction/gezena/righthand.dmi differ diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index e58811689631..8ce2ccae3973 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/projectiles_impact.dmi b/icons/obj/projectiles_impact.dmi index bac35e68e147..ee2ddf8568e0 100644 Binary files a/icons/obj/projectiles_impact.dmi and b/icons/obj/projectiles_impact.dmi differ diff --git a/icons/obj/projectiles_muzzle.dmi b/icons/obj/projectiles_muzzle.dmi index 2f1d6d90c6bf..4b23b27a8f35 100644 Binary files a/icons/obj/projectiles_muzzle.dmi and b/icons/obj/projectiles_muzzle.dmi differ diff --git a/icons/obj/projectiles_tracer.dmi b/icons/obj/projectiles_tracer.dmi index 56442452e724..be82f0d319d2 100644 Binary files a/icons/obj/projectiles_tracer.dmi and b/icons/obj/projectiles_tracer.dmi differ diff --git a/shiptest.dme b/shiptest.dme index 3f62b6c8a6d4..b1b2f2a6fcab 100644 --- a/shiptest.dme +++ b/shiptest.dme @@ -1922,6 +1922,7 @@ #include "code\modules\clothing\chameleon.dm" #include "code\modules\clothing\clothing.dm" #include "code\modules\clothing\ears\_ears.dm" +#include "code\modules\clothing\factions\gezena.dm" #include "code\modules\clothing\glasses\_glasses.dm" #include "code\modules\clothing\glasses\engine_goggles.dm" #include "code\modules\clothing\glasses\hud.dm" @@ -1949,6 +1950,7 @@ #include "code\modules\clothing\neck\_neck.dm" #include "code\modules\clothing\outfits\ert.dm" #include "code\modules\clothing\outfits\event.dm" +#include "code\modules\clothing\outfits\gezena.dm" #include "code\modules\clothing\outfits\plasmaman.dm" #include "code\modules\clothing\outfits\solgov.dm" #include "code\modules\clothing\outfits\standard.dm" @@ -2998,6 +3000,7 @@ #include "code\modules\projectiles\guns\energy\pulse.dm" #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" +#include "code\modules\projectiles\guns\faction\gezena\energy_gunsword.dm" #include "code\modules\projectiles\guns\magic\staff.dm" #include "code\modules\projectiles\guns\magic\wand.dm" #include "code\modules\projectiles\guns\misc\beam_rifle.dm" diff --git a/sound/weapons/gun/energy/laserpistol.ogg b/sound/weapons/gun/energy/laserpistol.ogg new file mode 100644 index 000000000000..2eb881d0c4ab Binary files /dev/null and b/sound/weapons/gun/energy/laserpistol.ogg differ diff --git a/sound/weapons/gun/energy/lasersniper.ogg b/sound/weapons/gun/energy/lasersniper.ogg new file mode 100644 index 000000000000..a773bd203d12 Binary files /dev/null and b/sound/weapons/gun/energy/lasersniper.ogg differ