diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index a74306f596c..cd645027925 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -17,6 +17,7 @@ ///The max capacity of modkits the PKA can have installed at once. var/max_mod_capacity = 100 var/disablemodification = FALSE // Bubber edit, stops removal and addition of mods. + var/disabled_modkits // BUBBER EDIT - ADDITION - Additional var to handle certain modkits being disallwoed on specific PKAs /obj/item/gun/energy/recharge/kinetic_accelerator/add_bayonet_point() @@ -344,11 +345,14 @@ if(KA.get_remaining_mod_capacity() >= cost) if(.) - if(transfer_to_loc && !user.transferItemToLoc(src, KA)) - return - to_chat(user, span_notice("You install the modkit.")) - playsound(loc, 'sound/items/tools/screwdriver.ogg', 100, TRUE) - KA.modkits |= src + if(!is_type_in_list(src, KA.disabled_modkits)) // BUBBER EDIT - ADDITION - If statement to check if this modkit is disabled on this PKA + if(transfer_to_loc && !user.transferItemToLoc(src, KA)) + return + to_chat(user, span_notice("You install the modkit.")) + playsound(loc, 'sound/items/tools/screwdriver.ogg', 100, TRUE) + KA.modkits |= src + else + to_chat(user, span_notice("The modkit cannot be installed on this model of kinetic accelerator.")) // BUBBER EDIT - ADDITION - END else to_chat(user, span_notice("The modkit you're trying to install would conflict with an already installed modkit. Remove existing modkits first.")) else diff --git a/modular_zubbers/code/game/objects/items/more_pkas.dm b/modular_zubbers/code/game/objects/items/more_pkas.dm index 68b17d98be9..c8b6635640b 100644 --- a/modular_zubbers/code/game/objects/items/more_pkas.dm +++ b/modular_zubbers/code/game/objects/items/more_pkas.dm @@ -89,6 +89,7 @@ obj_flags = UNIQUE_RENAME weapon_weight = WEAPON_LIGHT max_mod_capacity = 75 + disabled_modkits = list(/obj/item/borg/upgrade/modkit/aoe) // Should cover all AOE variants /obj/item/gun/energy/recharge/kinetic_accelerator/shockwave/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0) target = get_edge_target_turf(user, user.dir) @@ -161,7 +162,7 @@ /obj/projectile/kinetic/railgun name = "hyper kinetic force" icon_state = null - damage = 100 + damage = 100 // Slightly less than a crusher marked hit (110 methinks), but ranged and really fast moving, big movement slowdown and bulky. damage_type = BRUTE armor_flag = BOMB range = 6 @@ -172,7 +173,7 @@ /obj/projectile/kinetic/repeater name = "rapid kinetic force" icon_state = null - damage = 20 + damage = 20 // Half damage, burst fire and a bit more range. damage_type = BRUTE armor_flag = BOMB range = 4 @@ -181,7 +182,7 @@ /obj/projectile/kinetic/shotgun name = "split kinetic force" icon_state = null - damage = 20 + damage = 15 // 3 projectiles, 40 base damage. Theoretically more if all shots hit. damage_type = BRUTE armor_flag = BOMB range = 3 @@ -190,7 +191,7 @@ /obj/projectile/kinetic/glock name = "light kinetic force" icon_state = null - damage = 10 + damage = 10 // Low dmg, high modularity. Can be made great, especially when dual wielded. damage_type = BRUTE armor_flag = BOMB range = 3 @@ -199,7 +200,7 @@ /obj/projectile/kinetic/shockwave name = "concussive kinetic force" icon_state = null - damage = 40 + damage = 40 // 8 projectiles in a 360 around you. Good for CC and rock clearing. damage_type = BRUTE armor_flag = BOMB range = 1