diff --git a/code/datums/storage/subtypes/tank.dm b/code/datums/storage/subtypes/tank.dm index d348a8aee35f0..9fe2ff5c6254a 100644 --- a/code/datums/storage/subtypes/tank.dm +++ b/code/datums/storage/subtypes/tank.dm @@ -6,7 +6,7 @@ allow_drawing_method = FALSE /// Unable to set draw_mode ourselves max_w_class = WEIGHT_CLASS_GIGANTIC //they're all WEIGHT_CLASS_GIGANTIC which is 6 max_storage_space = 120 - storage_slots = 20 + storage_slots = 40 /datum/storage/tank/on_attack_hand(datum/source, mob/living/user) //Override for tank subtype since this is deployed storage if(parent.Adjacent(user)) diff --git a/code/game/objects/effects/landmarks/gamemode/campaign_vehicle_spawners.dm b/code/game/objects/effects/landmarks/gamemode/campaign_vehicle_spawners.dm index db1a1212b5ecf..aca39f335938c 100644 --- a/code/game/objects/effects/landmarks/gamemode/campaign_vehicle_spawners.dm +++ b/code/game/objects/effects/landmarks/gamemode/campaign_vehicle_spawners.dm @@ -124,7 +124,7 @@ equipment_list = list( /obj/item/armored_weapon/coilgun = 1, /obj/item/armored_weapon/secondary_mlrs = 1, - /obj/item/ammo_magazine/tank/coilgun = 15, + /obj/item/ammo_magazine/tank/coilgun = 40, /obj/item/ammo_magazine/tank/secondary_mlrs = 8, ) diff --git a/code/modules/vehicles/armored/ammo_magazine.dm b/code/modules/vehicles/armored/ammo_magazine.dm index ba5a0810bcbf9..7a2ea99c6967b 100644 --- a/code/modules/vehicles/armored/ammo_magazine.dm +++ b/code/modules/vehicles/armored/ammo_magazine.dm @@ -138,10 +138,10 @@ desc = "A set of extremely dense kinetic penetrator rounds for a tank mounted coilgun." caliber = CALIBER_84MM icon_state = "coilgun" - w_class = WEIGHT_CLASS_GIGANTIC + w_class = WEIGHT_CLASS_NORMAL default_ammo = /datum/ammo/rocket/coilgun/holder //this doesn't strictly matter since its overridden - max_rounds = 4 - loading_sound = 'sound/vehicles/weapons/ltb_reload.ogg' + max_rounds = 1 + loading_sound = 'sound/vehicles/weapons/coilgun_cycle.ogg' /obj/item/ammo_magazine/tank/secondary_flamer_tank name = "napalm stream tank" diff --git a/code/modules/vehicles/armored/armored_weapons.dm b/code/modules/vehicles/armored/armored_weapons.dm index 5616190d5e4f5..df53538602088 100644 --- a/code/modules/vehicles/armored/armored_weapons.dm +++ b/code/modules/vehicles/armored/armored_weapons.dm @@ -13,7 +13,7 @@ ///Current loaded magazines: top one empties into ammo var/list/obj/item/ammo_magazine/ammo_magazine = list() ///maximum magazines ammo_magazine can hold - var/maximum_magazines = 5 + var/maximum_magazines = 0 ///ammo types we'll be able to accept var/list/accepted_ammo = list( /obj/item/ammo_magazine/tank/ltb_cannon, @@ -320,7 +320,6 @@ projectile_delay = 2 variance = 5 rearm_time = 1 SECONDS - maximum_magazines = 5 hud_state_empty = "rifle_empty" /obj/item/armored_weapon/ltaap @@ -336,7 +335,6 @@ variance = 5 projectile_delay = 0.1 SECONDS rearm_time = 3 SECONDS - maximum_magazines = 5 hud_state_empty = "rifle_empty" /obj/item/armored_weapon/apc_cannon @@ -362,7 +360,6 @@ fire_mode = GUN_FIREMODE_AUTOMATIC variance = 5 rearm_time = 1 SECONDS - maximum_magazines = 5 accepted_ammo = list( /obj/item/ammo_magazine/tank/secondary_flamer_tank, ) diff --git a/code/modules/vehicles/armored/interiors/breech.dm b/code/modules/vehicles/armored/interiors/breech.dm index 250321e636d0e..2d48a3d042e79 100644 --- a/code/modules/vehicles/armored/interiors/breech.dm +++ b/code/modules/vehicles/armored/interiors/breech.dm @@ -79,14 +79,12 @@ /obj/structure/gun_breech/proc/do_load(mob/living/user, obj/item/armored_weapon/weapon, obj/item/ammo_magazine/mag) user.temporarilyRemoveItemFromInventory(mag) mag.forceMove(weapon) - weapon.ammo = mag + weapon.ammo_magazine +=mag + if(weapon.ammo) + return + weapon.reload() + update_appearance(UPDATE_ICON) user.say(is_secondary ? "Loaded!" : "Up!") - for(var/mob/occupant AS in owner.interior.occupants) - occupant.hud_used.update_ammo_hud(weapon, list( - mag.default_ammo.hud_state, - mag.default_ammo.hud_state_empty), - mag.current_rounds - ) ///Unloads the weapon attached to the breech /obj/structure/gun_breech/proc/do_unload(mob/living/user, obj/item/armored_weapon/weapon) @@ -94,6 +92,8 @@ user.put_in_hands(weapon.ammo) weapon.ammo.update_appearance() weapon.ammo = null + weapon.reload() + update_appearance(UPDATE_ICON) ///checks to perform while reloading /obj/structure/gun_breech/proc/reload_checks(mob/user) @@ -101,7 +101,7 @@ if(!weapon) balloon_alert(user, "no weapon") return FALSE - if(weapon.ammo) + if(weapon.ammo && length(weapon.ammo_magazine) >= weapon.maximum_magazines) balloon_alert(user, "already loaded") return FALSE return TRUE @@ -234,7 +234,6 @@ update_gun_appearance(weapon_type) if(weapon_type.type == /obj/item/armored_weapon/coilgun) flick("[ammo_overlay.icon_state]_flick", ammo_overlay) - playsound(src, 'sound/vehicles/weapons/coilgun_cycle.ogg', 60, FALSE) ///Updates breech and barrel vis_obj appearance /obj/structure/gun_breech/som/proc/update_gun_appearance(obj/item/armored_weapon/current_weapon) @@ -255,7 +254,7 @@ pixel_x = -12 pixel_y = -32 barrel_overlay.pixel_y = 76 - ammo_overlay.icon_state = "[icon_state]_[weapon_type?.ammo?.current_rounds]" + ammo_overlay.icon_state = "[icon_state]_[length(weapon_type?.ammo_magazine) + weapon_type.ammo.current_rounds]" else if(weapon_type.type == /obj/item/armored_weapon/particle_lance) pixel_x = -8 pixel_y = -7 diff --git a/code/modules/vehicles/armored/som_armored_weapons.dm b/code/modules/vehicles/armored/som_armored_weapons.dm index 9483c7d704703..73e38e6a1e270 100644 --- a/code/modules/vehicles/armored/som_armored_weapons.dm +++ b/code/modules/vehicles/armored/som_armored_weapons.dm @@ -126,6 +126,8 @@ windup_sound = 'sound/vehicles/weapons/coil_charge.ogg' windup_delay = 0.6 SECONDS projectile_delay = 3 SECONDS + maximum_magazines = 3 + rearm_time = 0.5 SECONDS ///Power setting of the weapon. Effect the projectile fired var/power_level = COILGUN_MED_POWER ///Current ammo override to use based on power level @@ -241,7 +243,6 @@ projectile_delay = 0.2 SECONDS variance = 40 rearm_time = 5 SECONDS - maximum_magazines = 0 hud_state_empty = "rocket_empty" /datum/action/item_action/coilgun_power diff --git a/icons/obj/items/ammo/tank.dmi b/icons/obj/items/ammo/tank.dmi index ac017208b9aba..89ddaf270bd87 100644 Binary files a/icons/obj/items/ammo/tank.dmi and b/icons/obj/items/ammo/tank.dmi differ