diff --git a/code/__DEFINES/stats.dm b/code/__DEFINES/stats.dm index 1810d01e1d..bc7cbfc4a4 100644 --- a/code/__DEFINES/stats.dm +++ b/code/__DEFINES/stats.dm @@ -8,7 +8,11 @@ #define FACEHUG_TIER_3 100 #define FACEHUG_TIER_4 1000 +/// Consecutive rounds this player has readied up and failed to get a slot. +#define PLAYER_STAT_UNASSIGNED_ROUND_STREAK "unassigned_round_streak" + // Stat Categories #define STAT_CATEGORY_MARINE "marine" #define STAT_CATEGORY_XENO "xeno" #define STAT_CATEGORY_YAUTJA "yautja" +#define STAT_CATEGORY_MISC "misc" diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index fe15e6d84c..ff63e33beb 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -143,6 +143,43 @@ return null +/** + * Shuffles a provided list based on the weight of each element. + * + * Higher weight elements have a higher probability of being picked and tend to appear earlier in the list. + * Unweighted elements are never picked and are discarded. + * + * Arguments: + * * list_to_pick - assoc list in the form of: element = weight + * + * Returns list of shuffled weighted elements + */ +/proc/shuffle_weight(list/list_to_pick) + list_to_pick = list_to_pick.Copy() //not inplace + + var/total_weight = 0 + for(var/item in list_to_pick) + if(list_to_pick[item]) + total_weight += list_to_pick[item] + else + list_to_pick -= item //discard unweighted + + var/list_to_return = list() + + while(length(list_to_pick)) + var/target_weight = rand(1, total_weight) + for(var/item in list_to_pick) + var/item_weight = list_to_pick[item] + target_weight -= item_weight + + if(target_weight <= 0) + list_to_return += item + list_to_pick -= item + total_weight -= item_weight + break + + return list_to_return + /** * Removes any null entries from the list * Returns TRUE if the list had nulls, FALSE otherwise diff --git a/code/controllers/subsystem/xeno_ai.dm b/code/controllers/subsystem/xeno_ai.dm index 9cd608f211..6f22d17e42 100644 --- a/code/controllers/subsystem/xeno_ai.dm +++ b/code/controllers/subsystem/xeno_ai.dm @@ -11,6 +11,43 @@ SUBSYSTEM_DEF(xeno_ai) var/ai_kill = FALSE + //currently the only caste that has an actual targeting difference is facehugger + /// Assoc list of valid targets by hive & caste, in the form of: hive = (/caste = targets) + var/list/target_cache = list() + +/datum/controller/subsystem/xeno_ai/proc/get_valid_targets(mob/living/carbon/xenomorph/xeno) + var/datum/hive_status/hive = xeno.hive + LAZYINITLIST(target_cache[hive]) + + var/caste = xeno.type + if(target_cache[hive][caste]) + return target_cache[hive][caste] + + var/list/valid_targets = list() + target_cache[hive][caste] = valid_targets + + for(var/mob/living/carbon/potential_target in GLOB.alive_mob_list) + if(!potential_target.ai_can_target(xeno)) + continue + + valid_targets += potential_target + + for(var/obj/vehicle/multitile/potential_vehicle_target as anything in GLOB.all_multi_vehicles) + if(potential_vehicle_target.health <= 0) + continue + + if(hive.faction_is_ally(potential_vehicle_target.vehicle_faction)) + continue + + if(!length(valid_targets & potential_vehicle_target.interior.get_passengers())) + continue + + valid_targets += potential_vehicle_target + + valid_targets += GLOB.all_active_defenses + + return valid_targets + /datum/controller/subsystem/xeno_ai/stat_entry(msg) msg = "P:[length(ai_mobs)]" return ..() @@ -26,6 +63,10 @@ SUBSYSTEM_DEF(xeno_ai) message_admins("[key_name_admin(usr)] [SSxeno_ai.ai_kill? "killed" : "revived"] all xeno AI.") /datum/controller/subsystem/xeno_ai/fire(resumed = FALSE) + for(var/datum/hive_status/hive as anything in target_cache) + for(var/caste as anything in target_cache[hive]) + target_cache[hive][caste] = null + if(ai_kill) return diff --git a/code/datums/ammo/bullet/pistol.dm b/code/datums/ammo/bullet/pistol.dm index 3ce778bb1f..d4bdbc3ae4 100644 --- a/code/datums/ammo/bullet/pistol.dm +++ b/code/datums/ammo/bullet/pistol.dm @@ -100,7 +100,7 @@ headshot_state = HEADSHOT_OVERLAY_MEDIUM accuracy = HIT_ACCURACY_TIER_3 accuracy_var_low = PROJECTILE_VARIANCE_TIER_6 - damage = 55 + damage = 45 penetration = ARMOR_PENETRATION_TIER_3 shrapnel_chance = SHRAPNEL_CHANCE_TIER_2 diff --git a/code/datums/ammo/bullet/shotgun.dm b/code/datums/ammo/bullet/shotgun.dm index cf13fb9b01..b2bbf607ce 100644 --- a/code/datums/ammo/bullet/shotgun.dm +++ b/code/datums/ammo/bullet/shotgun.dm @@ -11,28 +11,30 @@ name = "shotgun slug" handful_state = "slug_shell" - accurate_range = 6 - max_range = 8 - damage = 70 - penetration = ARMOR_PENETRATION_TIER_4 + accurate_range = 7 + max_range = 14 + damage = 90 + penetration = ARMOR_PENETRATION_TIER_6 + damage_var_low = PROJECTILE_VARIANCE_TIER_10 + damage_var_high = PROJECTILE_VARIANCE_TIER_1 damage_armor_punch = 2 handful_state = "slug_shell" /datum/ammo/bullet/shotgun/slug/on_hit_mob(mob/M,obj/projectile/P) - knockback(M, P, 6) + knockback(M, P, 8) /datum/ammo/bullet/shotgun/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues - target.Stun(0.5) - target.apply_effect(1, SUPERSLOW) - target.apply_effect(3, SLOW) + target.KnockDown(3.5) + target.Stun(3.5) + target.Slow(5) else if(!isyautja(living_mob)) //Not predators. - living_mob.apply_effect(1, SUPERSLOW) - living_mob.apply_effect(2, SLOW) + living_mob.KnockDown(2) + living_mob.Stun(2) + living_mob.Superslow(5) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) @@ -42,11 +44,9 @@ handful_state = "beanbag_slug" icon_state = "beanbag" flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IGNORE_RESIST - sound_override = 'sound/weapons/gun_shotgun_riot.ogg' - max_range = 12 shrapnel_chance = 0 - damage = 0 + damage = 20 stamina_damage = 45 accuracy = HIT_ACCURACY_TIER_3 shell_speed = AMMO_SPEED_TIER_3 @@ -127,19 +127,36 @@ accuracy_var_low = PROJECTILE_VARIANCE_TIER_5 accuracy_var_high = PROJECTILE_VARIANCE_TIER_5 - accurate_range = 4 - max_range = 4 - damage = 65 - damage_var_low = PROJECTILE_VARIANCE_TIER_8 - damage_var_high = PROJECTILE_VARIANCE_TIER_8 + accurate_range = 7 + max_range = 9 + damage = 50 + damage_var_low = PROJECTILE_VARIANCE_TIER_10 + damage_var_high = PROJECTILE_VARIANCE_TIER_1 penetration = ARMOR_PENETRATION_TIER_1 - bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_3 + bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_7 shell_speed = AMMO_SPEED_TIER_2 damage_armor_punch = 0 pen_armor_punch = 0 handful_state = "buckshot_shell" multiple_handful_name = TRUE +/datum/ammo/bullet/shotgun/buckshot/on_hit_mob(mob/M,obj/projectile/P) + knockback(M, P, 4) +/datum/ammo/bullet/shotgun/buckshot/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) + if(iscarbonsizexeno(living_mob)) + var/mob/living/carbon/xenomorph/target = living_mob + to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) + target.KnockDown(2.5) + target.Stun(2.5) + target.Slow(4) + else + if(!isyautja(living_mob)) //Not predators. + living_mob.KnockDown(3) + living_mob.Stun(3) + living_mob.Slow(5) + to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) + /datum/ammo/bullet/shotgun/buckshot/incendiary name = "incendiary buckshot shell" handful_state = "incen_buckshot" @@ -178,8 +195,8 @@ accuracy_var_low = PROJECTILE_VARIANCE_TIER_6 accuracy_var_high = PROJECTILE_VARIANCE_TIER_6 accurate_range = 4 - max_range = 4 - damage = 65 + max_range = 6 + damage = 50 damage_var_low = PROJECTILE_VARIANCE_TIER_8 damage_var_high = PROJECTILE_VARIANCE_TIER_8 penetration = ARMOR_PENETRATION_TIER_1 @@ -191,6 +208,23 @@ /datum/ammo/bullet/shotgun/spread/masterkey damage = 20 +/datum/ammo/bullet/shotgun/spread/on_hit_mob(mob/M,obj/projectile/P) + knockback(M, P, 4) +/datum/ammo/bullet/shotgun/spread/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) + if(iscarbonsizexeno(living_mob)) + var/mob/living/carbon/xenomorph/target = living_mob + to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) + target.KnockDown(2.5) + target.Stun(2.5) + target.Slow(4) + else + if(!isyautja(living_mob)) //Not predators. + living_mob.KnockDown(3) + living_mob.Stun(3) + living_mob.Slow(5) + to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) + /datum/ammo/bullet/shotgun/spread/special name = "additional buckshot, USCM special type" @@ -209,24 +243,53 @@ handful_state = "heavy_buckshot" multiple_handful_name = TRUE bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/spread - bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_3 - accurate_range = 3 - max_range = 3 + bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_8 + accurate_range = 8 + max_range = 10 damage = 75 - penetration = 0 + penetration = ARMOR_PENETRATION_TIER_2 shell_speed = AMMO_SPEED_TIER_2 damage_armor_punch = 0 pen_armor_punch = 0 /datum/ammo/bullet/shotgun/heavy/buckshot/on_hit_mob(mob/M,obj/projectile/P) - knockback(M,P) + knockback(M,P,5) +/datum/ammo/bullet/shotgun/heavy/buckshot/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) + if(iscarbonsizexeno(living_mob)) + var/mob/living/carbon/xenomorph/target = living_mob + to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) + target.KnockDown(5) + target.Stun(5) + target.Slow(8) + else + if(!isyautja(living_mob)) //Not predators. + living_mob.KnockDown(2) + living_mob.Stun(2) + living_mob.Slow(6) + to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) /datum/ammo/bullet/shotgun/heavy/buckshot/spread name = "additional heavy buckshot" - max_range = 4 + max_range = 7 scatter = SCATTER_AMOUNT_TIER_1 bonus_projectiles_amount = 0 +/datum/ammo/bullet/shotgun/heavy/buckshot/spread/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) + if(iscarbonsizexeno(living_mob)) + var/mob/living/carbon/xenomorph/target = living_mob + to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) + target.KnockDown(5) + target.Stun(5) + target.Slow(8) + else + if(!isyautja(living_mob)) //Not predators. + living_mob.KnockDown(2) + living_mob.Stun(2) + living_mob.Slow(6) + to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) + living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) + /datum/ammo/bullet/shotgun/heavy/buckshot/special bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/spread/special bonus_projectiles_amount = EXTRA_PROJECTILES_TIER_8 @@ -251,8 +314,8 @@ multiple_handful_name = TRUE damage_type = BURN damage = 60 - accurate_range = 3 - max_range = 4 + accurate_range = 4 + max_range = 6 bonus_projectiles_type = /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/spread /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/set_bullet_traits() @@ -264,9 +327,7 @@ /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath/spread name = "additional dragon's breath" bonus_projectiles_amount = 0 - accurate_range = 4 - max_range = 5 //make use of the ablaze property - shell_speed = AMMO_SPEED_TIER_4 // so they hit before the main shell stuns + shell_speed = AMMO_SPEED_TIER_4 /datum/ammo/bullet/shotgun/heavy/slug @@ -274,26 +335,26 @@ handful_state = "heavy_slug" accurate_range = 7 - max_range = 8 - damage = 90 //ouch. - penetration = ARMOR_PENETRATION_TIER_6 + max_range = 17 + damage = 120 //ouch. + penetration = ARMOR_PENETRATION_TIER_9 damage_armor_punch = 2 /datum/ammo/bullet/shotgun/heavy/slug/on_hit_mob(mob/M,obj/projectile/P) - knockback(M, P, 7) + knockback(M, P, 8) /datum/ammo/bullet/shotgun/heavy/slug/knockback_effects(mob/living/living_mob, obj/projectile/fired_projectile) if(iscarbonsizexeno(living_mob)) var/mob/living/carbon/xenomorph/target = living_mob to_chat(target, SPAN_XENODANGER("You are shaken and slowed by the sudden impact!")) - target.KnockDown(0.5) // If you ask me the KD should be left out, but players like their visual cues - target.Stun(0.5) - target.apply_effect(2, SUPERSLOW) - target.apply_effect(5, SLOW) + target.KnockDown(7) + target.Stun(7) + target.Slow(10) else if(!isyautja(living_mob)) //Not predators. - living_mob.apply_effect(1, SUPERSLOW) - living_mob.apply_effect(2, SLOW) + living_mob.KnockDown(8) + living_mob.Stun(8) + living_mob.Superslow(15) to_chat(living_mob, SPAN_HIGHDANGER("The impact knocks you off-balance!")) living_mob.apply_stamina_damage(fired_projectile.ammo.damage, fired_projectile.def_zone, ARMOR_BULLET) @@ -303,14 +364,13 @@ headshot_state = HEADSHOT_OVERLAY_MEDIUM handful_state = "heavy_beanbag" flags_ammo_behavior = AMMO_BALLISTIC|AMMO_IGNORE_RESIST - sound_override = 'sound/weapons/gun_shotgun_riot.ogg' max_range = 7 shrapnel_chance = 0 - damage = 0 + damage = 25 stamina_damage = 100 - accuracy = HIT_ACCURACY_TIER_2 - shell_speed = AMMO_SPEED_TIER_2 + accuracy = HIT_ACCURACY_TIER_6 + shell_speed = 3 /datum/ammo/bullet/shotgun/heavy/beanbag/on_hit_mob(mob/M, obj/projectile/P) if(!M || M == P.firer) diff --git a/code/datums/ammo/bullet/sniper.dm b/code/datums/ammo/bullet/sniper.dm index 5f888efb1d..d8d751ca40 100644 --- a/code/datums/ammo/bullet/sniper.dm +++ b/code/datums/ammo/bullet/sniper.dm @@ -128,7 +128,7 @@ /datum/ammo/bullet/sniper/anti_materiel/vulture damage = 400 // Fully intended to vaporize anything smaller than a mini cooper - accurate_range_min = 10 + accurate_range_min = 0 handful_state = "vulture_bullet" sound_hit = 'sound/bullets/bullet_vulture_impact.ogg' flags_ammo_behavior = AMMO_BALLISTIC|AMMO_SNIPER|AMMO_IGNORE_COVER|AMMO_ANTIVEHICLE diff --git a/code/datums/components/xeno/ai_behavior_overrides/capture_override_behavior.dm b/code/datums/components/xeno/ai_behavior_overrides/capture_override_behavior.dm index 96eaa7d8fb..1f84842e54 100644 --- a/code/datums/components/xeno/ai_behavior_overrides/capture_override_behavior.dm +++ b/code/datums/components/xeno/ai_behavior_overrides/capture_override_behavior.dm @@ -22,7 +22,7 @@ if(isfacehugger(checked_xeno)) return FALSE - var/mob/parent_mob = parent + var/mob/living/parent_mob = parent var/captee_stat = parent_mob.stat var/mob/pulledby = parent_mob.pulledby @@ -45,7 +45,7 @@ if(distance > 10) return FALSE - if(captee_stat == CONSCIOUS) + if(captee_stat == CONSCIOUS && !(locate(/datum/effects/crit) in parent_mob.effects_list)) return FALSE if(isxeno(pulledby) && pulledby != checked_xeno) diff --git a/code/datums/effects/mob_crit/human_crit.dm b/code/datums/effects/mob_crit/human_crit.dm index ff4d0eeda0..8b25b2bc2a 100644 --- a/code/datums/effects/mob_crit/human_crit.dm +++ b/code/datums/effects/mob_crit/human_crit.dm @@ -8,7 +8,8 @@ qdel(src) return FALSE - affected_mob.apply_effect(3, PARALYZE) + affected_mob.KnockDown(3) + affected_mob.Stun(3) if(!affected_mob.reagents || !affected_mob.reagents.has_reagent("inaprovaline")) affected_mob.apply_damage(1, OXY) diff --git a/code/datums/effects/pain/human_pain.dm b/code/datums/effects/pain/human_pain.dm index 9c8070596b..bddd793077 100644 --- a/code/datums/effects/pain/human_pain.dm +++ b/code/datums/effects/pain/human_pain.dm @@ -58,7 +58,8 @@ var/mob/living/carbon/affected_mob = affected_atom if(do_once) - affected_mob.apply_effect(3, PARALYZE) + affected_mob.KnockDown(3) + affected_mob.Stun(3) do_once = FALSE affected_mob.EyeBlur(2) @@ -83,7 +84,8 @@ affected_mob.EyeBlur(2) if(affected_mob.pain && affected_mob.pain.feels_pain) affected_mob.TalkStutter(2) - affected_mob.apply_effect(2, PARALYZE) + affected_mob.KnockDown(2) + affected_mob.Stun(2) if(!affected_mob.reagents || !affected_mob.reagents.has_reagent("inaprovaline")) affected_mob.apply_damage(0.5, OXY) diff --git a/code/datums/factions/clf.dm b/code/datums/factions/clf.dm index 5456084b1a..8cd3756c41 100644 --- a/code/datums/factions/clf.dm +++ b/code/datums/factions/clf.dm @@ -58,19 +58,19 @@ list("MP5 Magazine (9mm)", 5, /obj/item/ammo_magazine/smg/mp5, null, VENDOR_ITEM_REGULAR), list("SIDEARMS", 0, null, null, null), - list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 15, /obj/item/weapon/gun/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("Beretta 92FS Pistol", 15, /obj/item/weapon/gun/pistol/b92fs, null, VENDOR_ITEM_REGULAR), - list("CMB Spearhead Autorevolver", 15, /obj/item/weapon/gun/revolver/cmb, null, VENDOR_ITEM_REGULAR), + list("CMB Spearhead Autorevolver", 15, /obj/item/weapon/gun/revolver/spearhead, null, VENDOR_ITEM_REGULAR), list("Holdout Pistol", 10, /obj/item/weapon/gun/pistol/holdout, null, VENDOR_ITEM_REGULAR), list("KT-42 Automag", 15, /obj/item/weapon/gun/pistol/kt42, null, VENDOR_ITEM_REGULAR), list("S&W .357 Revolver", 15, /obj/item/weapon/gun/revolver/small, null, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", 0, null, null, null), - list("88M4 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88/normalpoint, null, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("Beretta 92FS Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/b92fs, null, VENDOR_ITEM_REGULAR), list("KT-42 Magazine (.44)", 5, /obj/item/ammo_magazine/pistol/kt42, null, VENDOR_ITEM_REGULAR), - list("Spearhead Speed Loader (.357)", 10, /obj/item/ammo_magazine/revolver/cmb/normalpoint, VENDOR_ITEM_REGULAR), - list("Hollowpoint Spearhead Speed Loader (.357)", 5, /obj/item/ammo_magazine/revolver/cmb, VENDOR_ITEM_REGULAR), + list("Spearhead Speed Loader (.357)", 10, /obj/item/ammo_magazine/revolver/spearhead, VENDOR_ITEM_REGULAR), + list("Hollowpoint Spearhead Speed Loader (.357)", 5, /obj/item/ammo_magazine/revolver/spearhead, VENDOR_ITEM_REGULAR), list("S&W Speed Loader (.357)", 5, /obj/item/ammo_magazine/revolver/small, null, VENDOR_ITEM_REGULAR), list("Tiny Pistol Magazine (.22)", 5, /obj/item/ammo_magazine/pistol/holdout, null, VENDOR_ITEM_REGULAR), @@ -126,19 +126,19 @@ list("MP5 Magazine (9mm)", 60, /obj/item/ammo_magazine/smg/mp5, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", 20, /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 20, /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("Beretta 92FS Pistol", 20, /obj/item/weapon/gun/pistol/b92fs, VENDOR_ITEM_REGULAR), - list("CMB Spearhead Autorevolver", 20, /obj/item/weapon/gun/revolver/cmb, VENDOR_ITEM_REGULAR), + list("CMB Spearhead Autorevolver", 20, /obj/item/weapon/gun/revolver/spearhead, VENDOR_ITEM_REGULAR), list("Holdout Pistol", 20, /obj/item/weapon/gun/pistol/holdout, VENDOR_ITEM_REGULAR), list("KT-42 Automag", 20, /obj/item/weapon/gun/pistol/kt42, VENDOR_ITEM_REGULAR), list("S&W .357 Revolver", 20, /obj/item/weapon/gun/revolver/small, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", 40, /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 40, /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("Beretta 92FS Magazine (9mm)", 40, /obj/item/ammo_magazine/pistol/b92fs, VENDOR_ITEM_REGULAR), list("KT-42 Magazine (.44)", 40, /obj/item/ammo_magazine/pistol/kt42, VENDOR_ITEM_REGULAR), - list("Spearhead Speed Loader (.357)", 40, /obj/item/ammo_magazine/revolver/cmb/normalpoint, VENDOR_ITEM_REGULAR), - list("Hollowpoint Spearhead Speed Loader (.357)", 40, /obj/item/ammo_magazine/revolver/cmb, VENDOR_ITEM_REGULAR), + list("Spearhead Speed Loader (.357)", 40, /obj/item/ammo_magazine/revolver/spearhead, VENDOR_ITEM_REGULAR), + list("Hollowpoint Spearhead Speed Loader (.357)", 40, /obj/item/ammo_magazine/revolver/spearhead, VENDOR_ITEM_REGULAR), list("S&W Speed Loader (.357)", 40, /obj/item/ammo_magazine/revolver/small, VENDOR_ITEM_REGULAR), list("Tiny Pistol Magazine (.22)", 40, /obj/item/ammo_magazine/pistol/holdout, VENDOR_ITEM_REGULAR), diff --git a/code/datums/factions/pmc.dm b/code/datums/factions/pmc.dm index 0b48fc63eb..51747807f3 100644 --- a/code/datums/factions/pmc.dm +++ b/code/datums/factions/pmc.dm @@ -43,11 +43,11 @@ list("SIDEARMS", 0, null, null, null), list("VP78 pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 15, /obj/item/weapon/gun/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", 0, null, null, null), list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88M4 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88/normalpoint, null, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), @@ -83,11 +83,11 @@ list("SIDEARMS", 0, null, null, null), list("VP78 pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Combat Pistol", 30, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 30, /obj/item/weapon/gun/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", 0, null, null, null), list("VP78 magazine (9mm)", 50, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88M4 Magazine (9mm)", 50, /obj/item/ammo_magazine/pistol/mod88/normalpoint, null, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 50, /obj/item/ammo_magazine/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("UTILITIES", 0, null, null, null), list("M94 Marking Flare Pack", 30, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), diff --git a/code/datums/factions/royalmarinescommando.dm b/code/datums/factions/royalmarinescommando.dm index b5605ea61f..aa9db0f5f2 100644 --- a/code/datums/factions/royalmarinescommando.dm +++ b/code/datums/factions/royalmarinescommando.dm @@ -40,11 +40,11 @@ list("SIDEARMS", 0, null, null, null), list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 15, /obj/item/weapon/gun/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", 0, null, null, null), list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88M4 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88/normalpoint, null, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("ATTACHMENTS", 0, null, null, null), list("Angled Grip", 15, /obj/item/attachable/angledgrip, null, VENDOR_ITEM_REGULAR), @@ -79,11 +79,11 @@ list("SIDEARMS", -1, null, null), list("VP78 Pistol", 20, /obj/item/weapon/gun/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Combat Pistol", 15, /obj/item/weapon/gun/pistol/mod88, null, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 15, /obj/item/weapon/gun/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), list("VP78 magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp78, null, VENDOR_ITEM_REGULAR), - list("88M4 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/mod88/normalpoint, null, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 5, /obj/item/ammo_magazine/pistol/vp70, null, VENDOR_ITEM_REGULAR), list("UTILITIES", -1, null, null), list("M94 Marking Flare Pack", 3, /obj/item/storage/box/m94, null, VENDOR_ITEM_RECOMMENDED), diff --git a/code/datums/supply_packs/ammo.dm b/code/datums/supply_packs/ammo.dm index 164511c25c..6fdb2b4f09 100644 --- a/code/datums/supply_packs/ammo.dm +++ b/code/datums/supply_packs/ammo.dm @@ -240,16 +240,16 @@ containername = "\improper shotgun flechette crate" group = "Ammo" -//------------------------For 88M4 ---------------- +//------------------------For vp70 ---------------- -/datum/supply_packs/ammo_mod88_mag_box_ap - name = "Magazine box (88 Mod 4 AP, 16x mags)" +/datum/supply_packs/ammo_vp70_mag_box_ap + name = "Magazine box (VP70, 16x mags)" contains = list( - /obj/item/ammo_box/magazine/mod88, + /obj/item/ammo_box/magazine/vp70, ) cost = 20 containertype = /obj/structure/closet/crate/ammo - containername = "\improper 88 Mod 4 AP magazines crate" + containername = "\improper VP70 magazines crate" group = "Ammo" //------------------------Special or non common magazines---------------- diff --git a/code/datums/supply_packs/black_market.dm b/code/datums/supply_packs/black_market.dm index e70d47c6be..16811680f2 100644 --- a/code/datums/supply_packs/black_market.dm +++ b/code/datums/supply_packs/black_market.dm @@ -151,7 +151,7 @@ Non-USCM items, from CLF, UPP, colonies, etc. Mostly combat-related. new /obj/item/ammo_magazine/smg/mac15(src) new /obj/item/ammo_magazine/smg/mac15(src) if(4) //upp - new /obj/item/weapon/gun/shotgun/type23/riot_control(src) + new /obj/item/weapon/gun/shotgun/type23/riot(src) new /obj/item/ammo_magazine/handful/shotgun/heavy/beanbag(src) new /obj/item/ammo_magazine/handful/shotgun/heavy/beanbag(src) new /obj/item/ammo_magazine/handful/shotgun/heavy/flechette(src) @@ -410,12 +410,12 @@ Additionally, weapons that are way too good to put in the basically-flavor black /datum/supply_packs/contraband/seized/cmb name = "CMB Spearhead revolver (x5 magazines included)" contains = list( - /obj/item/weapon/gun/revolver/cmb, - /obj/item/ammo_magazine/revolver/cmb, - /obj/item/ammo_magazine/revolver/cmb, - /obj/item/ammo_magazine/revolver/cmb, - /obj/item/ammo_magazine/revolver/cmb, - /obj/item/ammo_magazine/revolver/cmb, + /obj/item/weapon/gun/revolver/spearhead, + /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/ammo_magazine/revolver/spearhead, ) dollar_cost = 20 containertype = /obj/structure/largecrate/black_market @@ -683,7 +683,7 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted contains = list( /obj/item/ammo_magazine/smg/m39/rubber, /obj/item/ammo_magazine/pistol/rubber, - /obj/item/ammo_magazine/pistol/mod88/rubber, + /obj/item/ammo_magazine/pistol/vp70/rubber, /obj/item/ammo_magazine/rifle/rubber, /obj/item/ammo_magazine/rifle/m4ra/rubber, /obj/item/ammo_magazine/shotgun/beanbag, @@ -694,9 +694,9 @@ USCM spare items, miscellaneous gear that's too niche and distant (or restricted /* - Misc. USCM weaponry - */ /datum/supply_packs/contraband/surplus/mk45_automag - name = "surplus MK-45 Automagnum case" + name = "surplus HG 45 case" dollar_cost = 35 - contains = list(/obj/item/storage/box/guncase/mk45_automag) + contains = list(/obj/item/storage/box/guncase/hg45) containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/surplus/nsg23_marine @@ -927,13 +927,13 @@ This is where the RO can reclaim their lost honor and purchase the M44 custom, t /datum/supply_packs/contraband/deep_storage/cartridge_bayonet name = "M8 Cartridge Bayonet Kit" - contains = list(/obj/item/storage/box/co2_knife) + contains = list(/obj/item/storage/box/loadout/co2_knife) dollar_cost = 10 containertype = /obj/structure/largecrate/black_market /datum/supply_packs/contraband/deep_storage/clf_holdout name = "D18 Holdout Pistol" - contains = list(/obj/item/storage/box/clf) + contains = list(/obj/item/storage/box/loadout/clf) dollar_cost = 10 crate_heat = 2 containertype = /obj/structure/largecrate/black_market diff --git a/code/game/jobs/role_authority.dm b/code/game/jobs/role_authority.dm index 42ffc22570..de2fb256ef 100644 --- a/code/game/jobs/role_authority.dm +++ b/code/game/jobs/role_authority.dm @@ -206,18 +206,46 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou //PART II: Setting up our player variables and lists, to see if we have anyone to destribute. unassigned_players = list() - for(var/mob/new_player/M in GLOB.player_list) //Get all players who are ready. - if(!M.ready || M.job) + for(var/mob/new_player/player as anything in GLOB.new_player_list) + if(!player.ready || player.job) //get only players who are ready and unassigned continue - unassigned_players += M + var/datum/preferences/prefs = player.client?.prefs + if(!prefs) //either no client to play, or no preferences + continue + + if(prefs.alternate_option == RETURN_TO_LOBBY && !prefs.has_job_priorities()) //only try to assign players that could possibly be assigned + continue + + unassigned_players += player if(!length(unassigned_players)) //If we don't have any players, the round can't start. unassigned_players = null return - unassigned_players = shuffle(unassigned_players, 1) //Shuffle the players. + var/list/player_weights = list() + var/debug_total_weight = 0 + for(var/mob/new_player/cycled_unassigned as anything in unassigned_players) + var/base_weight = 1 //baseline weighting + var/new_bonus = 0 + switch(cycled_unassigned.client.get_total_human_playtime()) //+1 for new players, +2 for really new players + if(0 to 2 HOURS) + new_bonus = 2 + if(2 HOURS to 5 HOURS) + new_bonus = 1 + + var/streak_bonus = max(get_client_stat(cycled_unassigned.client, PLAYER_STAT_UNASSIGNED_ROUND_STREAK) - 2, 0) //+1 per missed round after 2 + + player_weights[cycled_unassigned] = base_weight + new_bonus + streak_bonus + debug_total_weight += player_weights[cycled_unassigned] + log_debug("ASSIGNMENT: player_weights generated with [length(player_weights)] players and [debug_total_weight] total weight.") + + unassigned_players = shuffle_weight(player_weights) + var/list/debug_weight_order = list() + for(var/mob/new_player/cycled_unassigned as anything in unassigned_players) + debug_weight_order += player_weights[cycled_unassigned] + log_debug("ASSIGNMENT: unassigned_players by entry weight: ([debug_weight_order.Join(", ")])") // How many positions do we open based on total pop for(var/i in roles_by_name) @@ -247,11 +275,11 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou return log_debug("ASSIGNMENT: Starting prime priority assignments.") - for(var/mob/new_player/cycled_unassigned in shuffle(unassigned_players)) + for(var/mob/new_player/cycled_unassigned in unassigned_players) assign_role_to_player_by_priority(cycled_unassigned, roles_to_assign, unassigned_players, PRIME_PRIORITY) log_debug("ASSIGNMENT: Starting regular priority assignments.") - for(var/mob/new_player/cycled_unassigned in shuffle(unassigned_players)) + for(var/mob/new_player/cycled_unassigned in unassigned_players) var/player_assigned_job = FALSE for(var/priority in HIGH_PRIORITY to LOW_PRIORITY) @@ -264,20 +292,17 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou break if(!player_assigned_job) - log_debug("ASSIGNMENT: [cycled_unassigned] was unable to be assigned a job based on preferences and roles to assign. Attempting alternate options.") - switch(cycled_unassigned.client.prefs.alternate_option) if(GET_RANDOM_JOB) - log_debug("ASSIGNMENT: [cycled_unassigned] has opted for random job alternate option. Finding random job.") var/iterator = 0 while((cycled_unassigned in unassigned_players) || iterator >= 5) iterator++ var/random_job_name = pick(roles_to_assign) var/datum/job/random_job = roles_to_assign[random_job_name] - log_debug("ASSIGNMENT: [cycled_unassigned] is attempting to be assigned to [random_job_name].") if(assign_role(cycled_unassigned, random_job)) log_debug("ASSIGNMENT: We have randomly assigned [random_job_name] to [cycled_unassigned]") + cycled_unassigned.client.player_data.adjust_stat(PLAYER_STAT_UNASSIGNED_ROUND_STREAK, STAT_CATEGORY_MISC, 0, TRUE) unassigned_players -= cycled_unassigned if(random_job.spawn_positions != -1 && random_job.current_positions >= random_job.spawn_positions) @@ -288,10 +313,10 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou log_debug("ASSIGNMENT: [cycled_unassigned] was unable to be randomly assigned a job. Something has gone wrong.") if(BE_MARINE) - log_debug("ASSIGNMENT: [cycled_unassigned] has opted for marine alternate option. Checking if slot is available.") var/datum/job/marine_job = GET_MAPPED_ROLE(JOB_SQUAD_MARINE) if(assign_role(cycled_unassigned, marine_job)) log_debug("ASSIGNMENT: We have assigned [marine_job.title] to [cycled_unassigned] via alternate option.") + cycled_unassigned.client.player_data.adjust_stat(PLAYER_STAT_UNASSIGNED_ROUND_STREAK, STAT_CATEGORY_MISC, 0, TRUE) unassigned_players -= cycled_unassigned if(marine_job.spawn_positions != -1 && marine_job.current_positions >= marine_job.spawn_positions) @@ -305,22 +330,22 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou cycled_unassigned.ready = 0 log_debug("ASSIGNMENT: Assignment complete. Players unassigned: [length(unassigned_players)] Jobs unassigned: [length(roles_to_assign)]") + for(var/mob/new_player/cycled_unassigned in unassigned_players) + cycled_unassigned.client.player_data.adjust_stat(PLAYER_STAT_UNASSIGNED_ROUND_STREAK, STAT_CATEGORY_MISC, 1) return roles_to_assign /datum/authority/branch/role/proc/assign_role_to_player_by_priority(mob/new_player/cycled_unassigned, list/roles_to_assign, list/unassigned_players, priority) - log_debug("ASSIGNMENT: We have started cycled through priority [priority] for [cycled_unassigned].") - var/wanted_jobs_by_name = shuffle(cycled_unassigned.client?.prefs?.get_jobs_by_priority(priority)) + var/wanted_jobs_by_name = shuffle(cycled_unassigned.client.prefs.get_jobs_by_priority(priority)) var/player_assigned_job = FALSE for(var/job_name in wanted_jobs_by_name) - log_debug("ASSIGNMENT: We are cycling through wanted jobs and are at [job_name] for [cycled_unassigned].") if(job_name in roles_to_assign) - log_debug("ASSIGNMENT: We have found [job_name] in roles to assign for [cycled_unassigned].") var/datum/job/actual_job = roles_to_assign[job_name] if(assign_role(cycled_unassigned, actual_job)) - log_debug("ASSIGNMENT: We have assigned [job_name] to [cycled_unassigned].") + log_debug("ASSIGNMENT: We have assigned [job_name] to [cycled_unassigned] at priority [priority].") + cycled_unassigned.client.player_data?.adjust_stat(PLAYER_STAT_UNASSIGNED_ROUND_STREAK, STAT_CATEGORY_MISC, 0, TRUE) unassigned_players -= cycled_unassigned if(actual_job.spawn_positions != -1 && actual_job.current_positions >= actual_job.spawn_positions) @@ -331,10 +356,8 @@ I hope it's easier to tell what the heck this proc is even doing, unlike previou break if(player_assigned_job) - log_debug("ASSIGNMENT: [cycled_unassigned] has been assigned a job.") return player_assigned_job - log_debug("ASSIGNMENT: [cycled_unassigned] did not get a job at priority [priority].") return player_assigned_job /** diff --git a/code/game/machinery/vending/cm_vending.dm b/code/game/machinery/vending/cm_vending.dm index fee6f9a53c..9fd775b64f 100644 --- a/code/game/machinery/vending/cm_vending.dm +++ b/code/game/machinery/vending/cm_vending.dm @@ -1012,7 +1012,7 @@ GLOBAL_LIST_EMPTY(vending_products) //---helper glob data GLOBAL_LIST_INIT(cm_vending_gear_corresponding_types_list, list( - /obj/item/ammo_box/magazine/mod88/empty = /obj/item/ammo_box/magazine/mod88, + /obj/item/ammo_box/magazine/vp70/empty = /obj/item/ammo_box/magazine/vp70, /obj/item/ammo_box/magazine/m4a3/empty = /obj/item/ammo_box/magazine/m4a3, /obj/item/ammo_box/magazine/m4a3/ap/empty = /obj/item/ammo_box/magazine/m4a3/ap, /obj/item/ammo_box/magazine/m4a3/hp/empty = /obj/item/ammo_box/magazine/m4a3/hp, diff --git a/code/game/machinery/vending/vending_types.dm b/code/game/machinery/vending/vending_types.dm index 445a5c5b9f..6839dc4afc 100644 --- a/code/game/machinery/vending/vending_types.dm +++ b/code/game/machinery/vending/vending_types.dm @@ -270,7 +270,7 @@ products = list( /obj/item/ammo_magazine/smg/m39/rubber = 20, /obj/item/ammo_magazine/pistol/rubber = 20, - /obj/item/ammo_magazine/pistol/mod88/rubber = 20, + /obj/item/ammo_magazine/pistol/vp70/rubber = 20, /obj/item/ammo_magazine/rifle/rubber = 20, /obj/item/ammo_magazine/rifle/m4ra/rubber = 20, /obj/item/ammo_magazine/shotgun/beanbag = 20, diff --git a/code/game/machinery/vending/vendor_types/crew/mp.dm b/code/game/machinery/vending/vendor_types/crew/mp.dm index b63a022481..f9dc3d45f2 100644 --- a/code/game/machinery/vending/vendor_types/crew/mp.dm +++ b/code/game/machinery/vending/vendor_types/crew/mp.dm @@ -15,7 +15,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_military_police, list( list("MP Beret", 0, /obj/item/clothing/head/beret/marine/mp, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), list("HANDGUN CASE (CHOOSE 1)", 0, null, null, null), - list("88 mod 4 Combat Pistol Case", 0, /obj/item/storage/box/guncase/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), + list("VP70 Combat Pistol Case", 0, /obj/item/storage/box/guncase/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M44 Combat Revolver Case", 0, /obj/item/storage/box/guncase/m44, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M4A3 Service Pistol Case", 0, /obj/item/storage/box/guncase/m4a3, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), @@ -73,7 +73,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_military_police_warden, list( list("Warden Peaked Cap", 0, /obj/item/clothing/head/beret/marine/mp/warden, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), list("HANDGUN CASE (CHOOSE 1)", 0, null, null, null), - list("88 mod 4 Combat Pistol Case", 0, /obj/item/storage/box/guncase/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), + list("VP70 Combat Pistol Case", 0, /obj/item/storage/box/guncase/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M44 Combat Revolver Case", 0, /obj/item/storage/box/guncase/m44, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M4A3 Service Pistol Case", 0, /obj/item/storage/box/guncase/m4a3, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), diff --git a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm index 14691dbe27..d3935a3bcc 100644 --- a/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm +++ b/code/game/machinery/vending/vendor_types/crew/pilot_officer.dm @@ -24,13 +24,13 @@ list("M41A Magazine (10x24mm)", 24, /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", 4, /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 4, /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", 4, /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", 4, /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", 4, /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", 20, /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 20, /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Speedloader (.44)", 20, /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", 20, /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), list("M4A3 AP Magazine (9mm)", 12, /obj/item/ammo_magazine/pistol/ap, VENDOR_ITEM_REGULAR), @@ -71,7 +71,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_pilot_officer, list( list("M3-VL Pattern Flak Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest/dcc, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), - list("88 Mod 4 Combat Pistol", 0, /obj/item/weapon/gun/pistol/mod88, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 0, /obj/item/weapon/gun/pistol/vp70, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("VP78 Pistol", 0, /obj/item/weapon/gun/pistol/vp78, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("BELT (CHOOSE 1)", 0, null, null, null), @@ -160,7 +160,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_dropship_crew_chief, list( list("M3-VL Pattern Flak Vest", 0, /obj/item/clothing/suit/storage/marine/light/vest/dcc, MARINE_CAN_BUY_ARMOR, VENDOR_ITEM_MANDATORY), list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), - list("88 Mod 4 Combat Pistol", 0, /obj/item/weapon/gun/pistol/mod88, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 0, /obj/item/weapon/gun/pistol/vp70, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("VP78 Pistol", 0, /obj/item/weapon/gun/pistol/vp78, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("BELT (CHOOSE 1)", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm index b5bc42eabb..a0d37fb154 100644 --- a/code/game/machinery/vending/vendor_types/crew/senior_officers.dm +++ b/code/game/machinery/vending/vendor_types/crew/senior_officers.dm @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_military_police_chief, list( list("CMP Beret", 0, /obj/item/clothing/head/beret/marine/mp/cmp, MARINE_CAN_BUY_HELMET, VENDOR_ITEM_MANDATORY), list("HANDGUN CASE (CHOOSE 1)", 0, null, null, null), - list("88 mod 4 Combat Pistol Case", 0, /obj/item/storage/box/guncase/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), + list("VP70 Combat Pistol Case", 0, /obj/item/storage/box/guncase/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M44 Combat Revolver Case", 0, /obj/item/storage/box/guncase/m44, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), list("M4A3 Service Pistol Case", 0, /obj/item/storage/box/guncase/m4a3, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_MANDATORY), @@ -132,7 +132,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_chief_engineer, list( list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), - list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), + list("VP70 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("ACCESSORIES (CHOOSE 1)", 0, null, null, null), @@ -158,7 +158,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_chief_engineer, list( list("Heat Absorbent Coif", 0, /obj/item/clothing/mask/rebreather/scarf, MARINE_CAN_BUY_MASK, VENDOR_ITEM_REGULAR), list("PRIMARY FIREARMS (CHOOSE 1)", 0, null, null, null), - list("M37A2 Pump Shotgun", 0, /obj/item/storage/box/guncase/pumpshotgun, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), + list("M120 Tactical Shotgun", 0, /obj/item/storage/box/guncase/shotguncombat, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), list("M41A Pulse Rifle MK2", 0, /obj/item/storage/box/guncase/m41a, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), list("M240 Incinerator Unit", 0, /obj/item/storage/box/guncase/flamer, MARINE_CAN_BUY_ESSENTIALS, VENDOR_ITEM_REGULAR), @@ -181,7 +181,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_req_officer, list( list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), - list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), + list("VP70 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("M44 Custom Revolver", 0, /obj/item/storage/belt/gun/m44/custom, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -234,7 +234,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_cmo, list( list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), - list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), + list("VP70 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -283,7 +283,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_xo, list( list("PERSONAL WEAPON (CHOOSE 1)", 0, null, null, null), list("VP78 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp78, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/commander, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), - list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), + list("VP70 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("M44 Revolver", 0, /obj/item/storage/belt/gun/m44/mp, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_REGULAR), list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), @@ -342,7 +342,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_auxiliary_officer, list( list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), list("M4A3 Service Pistol", 0, /obj/item/storage/belt/gun/m4a3/full, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), - list("Mod 88 Pistol", 0, /obj/item/storage/belt/gun/m4a3/mod88, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), + list("VP70 Pistol", 0, /obj/item/storage/belt/gun/m4a3/vp70, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("M44 Custom Revolver", 0, /obj/item/storage/belt/gun/m44/custom, MARINE_CAN_BUY_SECONDARY, VENDOR_ITEM_RECOMMENDED), list("COMBAT EQUIPMENT (TAKE ALL)", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm index 55046eaa2b..76b8eb6301 100644 --- a/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm +++ b/code/game/machinery/vending/vendor_types/crew/vehicle_crew.dm @@ -272,13 +272,13 @@ GLOBAL_LIST_INIT(cm_vending_vehicle_crew_apc_spare, list( list("M41A Magazine (10x24mm)", 12, /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", 2, /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 2, /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", 2, /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", 2, /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", 2, /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", 10, /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", 10, /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Speedloader (.44)", 10, /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", 10, /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), list("M4A3 AP Magazine (9mm)", 6, /obj/item/ammo_magazine/pistol/ap, VENDOR_ITEM_REGULAR), @@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(cm_vending_clothing_vehicle_crew, list( list("MRE", 0, /obj/item/storage/box/MRE, MARINE_CAN_BUY_MRE, VENDOR_ITEM_MANDATORY), list("PERSONAL SIDEARM (CHOOSE 1)", 0, null, null, null), - list("88 Mod 4 Combat Pistol", 0, /obj/item/weapon/gun/pistol/mod88, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", 0, /obj/item/weapon/gun/pistol/vp70, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("VP78 Pistol", 0, /obj/item/weapon/gun/pistol/vp78, MARINE_CAN_BUY_ATTACHMENT, VENDOR_ITEM_REGULAR), list("BELT (CHOOSE 1)", 0, null, null, null), diff --git a/code/game/machinery/vending/vendor_types/requisitions.dm b/code/game/machinery/vending/vendor_types/requisitions.dm index f3c4973c3f..1717d1e9de 100644 --- a/code/game/machinery/vending/vendor_types/requisitions.dm +++ b/code/game/machinery/vending/vendor_types/requisitions.dm @@ -30,7 +30,7 @@ list("M4RA Battle Rifle", round(scale * 20), /obj/item/weapon/gun/rifle/m4ra, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 50), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 50), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", round(scale * 50), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 50), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", round(scale * 20), /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), @@ -224,7 +224,7 @@ list("M39 HV Magazine (10x20mm)", round(scale * 50), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR), list("M44 Speed Loader (.44)", round(scale * 40), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", round(scale * 50), /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("ARMOR-PIERCING AMMUNITION", -1, null, null), list("M4RA AP Magazine (10x24mm)", round(scale * 15.7), /obj/item/ammo_magazine/rifle/m4ra/ap, VENDOR_ITEM_REGULAR), @@ -497,11 +497,11 @@ list("M41A Rubber Magazine (10x24mm)", round(scale * 25), /obj/item/ammo_magazine/rifle/rubber, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("SIDEARM NONLETHAL AMMUNITION", -1, null, null), - list("88M4 Rubber Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/mod88/rubber, VENDOR_ITEM_REGULAR), + list("VP70 Rubber Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/vp70/rubber, VENDOR_ITEM_REGULAR), list("M4A3 Rubber Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/rubber, VENDOR_ITEM_REGULAR), list("ATTACHMENTS", -1, null, null), diff --git a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm index 948bd9613e..8ec93ab581 100644 --- a/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm +++ b/code/game/machinery/vending/vendor_types/squad_prep/squad_prep.dm @@ -31,13 +31,13 @@ list("M41A Magazine (10x24mm)", round(scale * 25), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", round(scale * 25), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", round(scale * 10), /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Speedloader (.44)", round(scale * 20), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), @@ -425,18 +425,10 @@ list("M89-S Signal Flare Pack", round(scale * 1), /obj/item/storage/box/m94/signal, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 2), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), - list("M44 Combat Revolver", round(scale * 2), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 2), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 2), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), - list("VP78 pistol", round(scale * 2), /obj/item/weapon/gun/pistol/vp78, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", round(scale * 1), /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), - list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), - list("M44 Speedloader (.44)", round(scale * 20), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), - list("M4A3 Magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), - list("VP78 magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol/vp78, VENDOR_ITEM_REGULAR), - list("MISCELLANEOUS", -1, null, null), list("Extinguisher", round(scale * 5), /obj/item/tool/extinguisher, VENDOR_ITEM_REGULAR), list("Fire Extinguisher (Portable)", round(scale * 1), /obj/item/tool/extinguisher/mini, VENDOR_ITEM_REGULAR), @@ -546,7 +538,7 @@ list("SIDEARMS", -1, null, null), //forecon loves their pistols list("M48A4 Service Pistol", round(scale * 5), /obj/item/weapon/gun/pistol/m1911/socom, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Combat Pistol", round(scale * 5), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 5), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", round(scale * 5), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 5), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("VP78 pistol", round(scale * 5), /obj/item/weapon/gun/pistol/vp78, VENDOR_ITEM_REGULAR), @@ -554,7 +546,7 @@ list("SIDEARM AMMUNITION", -1, null, null), list("M1911 Magazine (.45)", round(scale * 20), /obj/item/ammo_magazine/pistol/m1911, VENDOR_ITEM_REGULAR), - list("88M4 Magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Speedloader (.44)", round(scale * 20), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), list("VP78 magazine (9mm)", round(scale * 20), /obj/item/ammo_magazine/pistol/vp78, VENDOR_ITEM_REGULAR), diff --git a/code/game/machinery/vending/vendor_types/wo_vendors.dm b/code/game/machinery/vending/vendor_types/wo_vendors.dm index 37e5aa1c27..f12d787024 100644 --- a/code/game/machinery/vending/vendor_types/wo_vendors.dm +++ b/code/game/machinery/vending/vendor_types/wo_vendors.dm @@ -87,13 +87,13 @@ list("M41A MK2 Magazine (10x24mm)", round(scale * 25), /obj/item/ammo_magazine/rifle, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", round(scale * 25), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 25), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), list("M82F Flare Gun", round(scale * 5), /obj/item/weapon/gun/flare, VENDOR_ITEM_REGULAR), list("SIDEARM AMMUNITION", -1, null, null), - list("88M4 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Speedloader (.44)", round(scale * 20), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", round(scale * 25), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), diff --git a/code/game/objects/effects/spawners/faction_spawners.dm b/code/game/objects/effects/spawners/faction_spawners.dm index eb634e383d..6c80260d44 100644 --- a/code/game/objects/effects/spawners/faction_spawners.dm +++ b/code/game/objects/effects/spawners/faction_spawners.dm @@ -134,7 +134,7 @@ mags_min = 1 guns = list( /obj/item/weapon/gun/pistol/vp78 = /obj/item/ammo_magazine/pistol/vp78, - /obj/item/weapon/gun/pistol/mod88 = /obj/item/ammo_magazine/pistol/mod88/normalpoint + /obj/item/weapon/gun/pistol/vp70 = /obj/item/ammo_magazine/pistol/vp70 ) /obj/effect/spawner/random/gun/pmc_secondary/lowchance diff --git a/code/game/objects/effects/spawners/random.dm b/code/game/objects/effects/spawners/random.dm index d302e7794f..82192a9ca3 100644 --- a/code/game/objects/effects/spawners/random.dm +++ b/code/game/objects/effects/spawners/random.dm @@ -329,7 +329,7 @@ var/mags_min = 1 var/list/guns = list( /obj/item/weapon/gun/pistol/b92fs = /obj/item/ammo_magazine/pistol/b92fs, - /obj/item/weapon/gun/revolver/cmb = /obj/item/ammo_magazine/revolver/cmb, + /obj/item/weapon/gun/revolver/spearhead = /obj/item/ammo_magazine/revolver/spearhead, /obj/item/weapon/gun/pistol/highpower = /obj/item/ammo_magazine/pistol/highpower, /obj/item/weapon/gun/pistol/m1911 = /obj/item/ammo_magazine/pistol/m1911, /obj/item/weapon/gun/revolver/small = /obj/item/ammo_magazine/revolver/small, @@ -388,9 +388,9 @@ /obj/item/weapon/gun/pistol/b92fs = /obj/item/ammo_magazine/pistol/b92fs, /obj/item/weapon/gun/pistol/b92fs = /obj/item/ammo_magazine/pistol/b92fs, /obj/item/weapon/gun/pistol/b92fs = /obj/item/ammo_magazine/pistol/b92fs, - /obj/item/weapon/gun/revolver/cmb = /obj/item/ammo_magazine/revolver/cmb, - /obj/item/weapon/gun/revolver/cmb = /obj/item/ammo_magazine/revolver/cmb, - /obj/item/weapon/gun/revolver/cmb = /obj/item/ammo_magazine/revolver/cmb, + /obj/item/weapon/gun/revolver/spearhead = /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/weapon/gun/revolver/spearhead = /obj/item/ammo_magazine/revolver/spearhead, + /obj/item/weapon/gun/revolver/spearhead = /obj/item/ammo_magazine/revolver/spearhead, /obj/item/weapon/gun/pistol/highpower = /obj/item/ammo_magazine/pistol/highpower, /obj/item/weapon/gun/pistol/highpower = /obj/item/ammo_magazine/pistol/highpower, /obj/item/weapon/gun/pistol/highpower = /obj/item/ammo_magazine/pistol/highpower, diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 0ed2894150..cefdee4c93 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -222,7 +222,7 @@ var/global/list/datum/stack_recipe/cardboard_recipes = list ( \ )), \ null, \ new/datum/stack_recipe_list("empty ammo boxes",list( \ - new/datum/stack_recipe("empty magazine box (88 Mod 4 AP)", /obj/item/ammo_box/magazine/mod88/empty), \ + new/datum/stack_recipe("empty magazine box (VP70)", /obj/item/ammo_box/magazine/vp70/empty), \ new/datum/stack_recipe("empty magazine box (M4A3)", /obj/item/ammo_box/magazine/m4a3/empty), \ new/datum/stack_recipe("empty magazine box (M4A3 AP)", /obj/item/ammo_box/magazine/m4a3/ap/empty), \ new/datum/stack_recipe("empty magazine box (M4A3 HP)", /obj/item/ammo_box/magazine/m4a3/hp/empty), \ diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 81e838b30b..619c50b90c 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -1027,7 +1027,7 @@ /obj/item/weapon/gun/rifle/m4ra/training, /obj/item/weapon/gun/smg/m39/training, /obj/item/weapon/gun/pistol/m4a3/training, - /obj/item/weapon/gun/pistol/mod88/training) //Ivan doesn't carry toys. + /obj/item/weapon/gun/pistol/vp70/training) //Ivan doesn't carry toys. var/list/picklist = subtypesof(/obj/item/weapon/gun) - (template_guns + bad_guns + emplacements + yautja_guns + smartguns + training_guns) var/random_gun = pick(picklist) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 2c17f447f1..5c8c36625a 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -418,8 +418,8 @@ new /obj/item/handcuffs(src) new /obj/item/handcuffs(src) new /obj/item/reagent_container/spray/pepper(src) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) + new /obj/item/ammo_magazine/pistol/vp70(src) + new /obj/item/ammo_magazine/pistol/vp70(src) /obj/item/storage/belt/security/MP/UPP @@ -448,8 +448,8 @@ new /obj/item/handcuffs(src) new /obj/item/handcuffs(src) new /obj/item/handcuffs(src) - new /obj/item/ammo_magazine/revolver/cmb/normalpoint(src) - new /obj/item/ammo_magazine/revolver/cmb/normalpoint(src) + new /obj/item/ammo_magazine/revolver/spearhead(src) + new /obj/item/ammo_magazine/revolver/spearhead(src) /obj/item/storage/belt/security/MP/CMB/full/highpower/fill_preset_inventory() new /obj/item/weapon/gun/energy/taser(src) @@ -1184,15 +1184,15 @@ new /obj/item/ammo_magazine/pistol(src) new /obj/item/ammo_magazine/pistol(src) -/obj/item/storage/belt/gun/m4a3/mod88/fill_preset_inventory() - handle_item_insertion(new /obj/item/weapon/gun/pistol/mod88()) +/obj/item/storage/belt/gun/m4a3/vp70/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/vp70()) for(var/i = 1 to storage_slots - 1) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) + new /obj/item/ammo_magazine/pistol/vp70(src) -/obj/item/storage/belt/gun/m4a3/mod88_near_empty/fill_preset_inventory() - handle_item_insertion(new /obj/item/weapon/gun/pistol/mod88()) +/obj/item/storage/belt/gun/m4a3/vp70_near_empty/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/vp70()) for(var/i = 1 to 3) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) + new /obj/item/ammo_magazine/pistol/vp70(src) /obj/item/storage/belt/gun/m4a3/vp78/fill_preset_inventory() handle_item_insertion(new /obj/item/weapon/gun/pistol/vp78()) @@ -1254,10 +1254,15 @@ for(var/i = 1 to storage_slots - 1) new /obj/item/ammo_magazine/pistol/highpower/black(src) -/obj/item/storage/belt/gun/m4a3/highpower/tactical/fill_preset_inventory() - handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower/tactical()) +/obj/item/storage/belt/gun/m4a3/highpower/automag/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower/automag()) for(var/i = 1 to storage_slots - 1) - new /obj/item/ammo_magazine/pistol/highpower/black(src) + new /obj/item/ammo_magazine/pistol/highpower/automag(src) + +/obj/item/storage/belt/gun/m4a3/highpower/automag/tactical/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower/automag/tactical()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/highpower/automag(src) /obj/item/storage/belt/gun/m39 name = "\improper M276 pattern M39 holster rig" @@ -1582,11 +1587,11 @@ /obj/item/ammo_magazine/rifle/m4ra/rubber, /obj/item/ammo_magazine/smg/m39/rubber, /obj/item/ammo_magazine/pistol/rubber, - /obj/item/ammo_magazine/pistol/mod88/rubber) //Ivan doesn't bring children's ammo. + /obj/item/ammo_magazine/pistol/vp70/rubber) //Ivan doesn't bring children's ammo. var/list/picklist = subtypesof(/obj/item/ammo_magazine) - (internal_mags + bad_mags + sentry_mags + training_mags) var/random_mag = pick(picklist) - var/guntype = pick(subtypesof(/obj/item/weapon/gun/revolver) + subtypesof(/obj/item/weapon/gun/pistol) - list(/obj/item/weapon/gun/pistol/m4a3/training, /obj/item/weapon/gun/pistol/mod88/training)) + var/guntype = pick(subtypesof(/obj/item/weapon/gun/revolver) + subtypesof(/obj/item/weapon/gun/pistol) - list(/obj/item/weapon/gun/pistol/m4a3/training, /obj/item/weapon/gun/pistol/vp70/training)) handle_item_insertion(new guntype()) for(var/total_storage_slots in 2 to storage_slots) //minus templates new random_mag(src) @@ -1872,7 +1877,7 @@ /obj/item/storage/belt/gun/utility/full/fill_preset_inventory() - handle_item_insertion(new /obj/item/weapon/gun/pistol/mod88()) + handle_item_insertion(new /obj/item/weapon/gun/pistol/vp70()) new /obj/item/tool/screwdriver(src) new /obj/item/tool/wrench(src) new /obj/item/tool/weldingtool(src) diff --git a/code/game/objects/items/storage/misc.dm b/code/game/objects/items/storage/misc.dm index 19e680a197..a51b1b6c16 100644 --- a/code/game/objects/items/storage/misc.dm +++ b/code/game/objects/items/storage/misc.dm @@ -111,48 +111,117 @@ else icon_state = "6_pack_[contents.len]" -/obj/item/storage/box/clf - name = "D18-storing box" - desc = "A fairly decorated and ceremonial box containing a CLF D18 and a single additional magazine for it. I guess those CLF folk really care about their craftsmanship and prose rather than practicality, eh?" - icon = 'icons/obj/items/storage.dmi' - icon_state = "m43case" - w_class = SIZE_SMALL - max_w_class = SIZE_TINY - storage_slots = 2 - -/obj/item/storage/box/clf/fill_preset_inventory() - new /obj/item/weapon/gun/pistol/clfpistol(src) - new /obj/item/ammo_magazine/pistol/clfpistol(src) - -/obj/item/storage/box/upp //war trophy luger - name = "Type 73 storing case" - desc = "A small case containing the once-standard sidearm of the UPP, the Type 73, and two additional magazines. The contained sidearm is probably looted off a dead officer or from a captured stockpile, either way this thing is worth a pretty penny." +/obj/item/storage/box/loadout + name = "storage case" + desc = "A wooden case that fits a pistol and a number of magazines." icon = 'icons/obj/items/storage.dmi' icon_state = "matebacase" w_class = SIZE_LARGE max_w_class = SIZE_MEDIUM - storage_slots = 3 - -/obj/item/storage/box/upp/fill_preset_inventory() - new /obj/item/weapon/gun/pistol/t73(src) - new /obj/item/ammo_magazine/pistol/t73(src) - new /obj/item/ammo_magazine/pistol/t73(src) + storage_slots = 7 -/obj/item/storage/box/M1911_loadout +/obj/item/storage/box/loadout/upp + name = "Type 73 storing case" + desc = "A small case containing a loaded Type 73, and additional magazines." +/obj/item/storage/box/loadout/upp/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/t73()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/t73(src) + +/obj/item/storage/box/loadout/M4A3_custom_loadout + name = "M4A3 storage case" + desc = "A relatively large storage case containing a loaded M4A3 and additional magazines." + +/obj/item/storage/box/loadout/M4A3_custom_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/m4a3/custom()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol(src) + +/obj/item/storage/box/loadout/HG45_civilian_loadout + name = "HG 45 'Aguila' storage case" + desc = "A relatively large storage case containing a loaded HG 45 'Aguila' and additional magazines." + +/obj/item/storage/box/loadout/HG45_civilian_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/highpower(src) + +/obj/item/storage/box/loadout/HG45_marine_loadout + name = "HG 45 'Marina' storage case" + desc = "A relatively large storage case containing a loaded HG 45 'Marina' and additional magazines." + +/obj/item/storage/box/loadout/HG45_marine_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower/black()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/highpower/black(src) + +/obj/item/storage/box/loadout/HG44_loadout + name = "HG 44 'Automag' storage case" + desc = "A relatively large storage case containing a loaded HG 44 'Automag' and additional magazines." + +/obj/item/storage/box/loadout/HG44_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/highpower/automag()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/highpower/automag(src) + +/obj/item/storage/box/loadout/Spearhead_loadout + name = "Spearhead Armoury storage case" + desc = "A relatively large storage case containing a loaded Spearhead Armoury autorevolver and additional speedloaders." + +/obj/item/storage/box/loadout/Spearhead_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/revolver/spearhead()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/revolver/spearhead(src) + +/obj/item/storage/box/loadout/Spearhead_loadout/custom + name = "Spearhead Armoury storage case" + desc = "A relatively large storage case containing a loaded Spearhead Armoury autorevolver and additional speedloaders." + +/obj/item/storage/box/loadout/Spearhead_loadout/custom/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/revolver/spearhead/black()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/revolver/spearhead(src) + +/obj/item/storage/box/loadout/M1911_loadout name = "M1911 storage case" - desc = "A relatively large storage case containing the 1911 and additional magazines. Purchased by enlisted or aspiring PMCs looking to carry a timeless classic" - icon = 'icons/obj/items/storage.dmi' - icon_state = "matebacase" - w_class = SIZE_LARGE - max_w_class = SIZE_MEDIUM - storage_slots = 3 + desc = "A relatively large storage case containing a loaded M1911 and additional magazines." + +/obj/item/storage/box/loadout/M1911_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/m1911()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/m1911(src) + +/obj/item/storage/box/loadout/M44_loadout + name = "M44 storage case" + desc = "A relatively large storage case containing a loaded M44 revolver and additional speedloaders." + +/obj/item/storage/box/loadout/M44_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/revolver/m44()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/revolver(src) + +/obj/item/storage/box/loadout/M44_custom_loadout + name = "M44 storage case" + desc = "A relatively large storage case containing a loaded M44 revolver and additional speedloaders." + +/obj/item/storage/box/loadout/M44_custom_loadout/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/revolver/m44/custom()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/revolver(src) + +/obj/item/storage/box/loadout/clf + name = "Hummingbird storage box" + desc = "A slim storage case containing a loaded Hummingbird pistol and additional magazines." + w_class = SIZE_SMALL + max_w_class = SIZE_TINY + storage_slots = 4 -/obj/item/storage/box/M1911_loadout/fill_preset_inventory() - new /obj/item/weapon/gun/pistol/m1911(src) - new /obj/item/ammo_magazine/pistol/m1911(src) - new /obj/item/ammo_magazine/pistol/m1911(src) +/obj/item/storage/box/loadout/clf/fill_preset_inventory() + handle_item_insertion(new /obj/item/weapon/gun/pistol/clfpistol()) + for(var/i = 1 to storage_slots - 1) + new /obj/item/ammo_magazine/pistol/clfpistol(src) -/obj/item/storage/box/co2_knife +/obj/item/storage/box/loadout/co2_knife name = "M8 cartridge bayonet packaging" desc = "Contains one M8 Cartridge Bayonet and two sister CO2 cartridges. Thanks for being a dedicated Boots magazine subscriber!" icon_state = "co2_box" @@ -162,7 +231,7 @@ w_class = SIZE_SMALL max_w_class = SIZE_SMALL -/obj/item/storage/box/co2_knife/fill_preset_inventory() +/obj/item/storage/box/loadout/co2_knife/fill_preset_inventory() new /obj/item/attachable/bayonet/co2(src) new /obj/item/co2_cartridge(src) new /obj/item/co2_cartridge(src) diff --git a/code/game/objects/items/storage/pouch.dm b/code/game/objects/items/storage/pouch.dm index e1f4a17204..6ab25f0b73 100644 --- a/code/game/objects/items/storage/pouch.dm +++ b/code/game/objects/items/storage/pouch.dm @@ -461,7 +461,7 @@ /obj/item/storage/pouch/magazine/pistol/pmc_mod88/fill_preset_inventory() for(var/i = 1 to storage_slots) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) + new /obj/item/ammo_magazine/pistol/vp70(src) /obj/item/storage/pouch/magazine/pistol/pmc_vp78/fill_preset_inventory() for(var/i = 1 to storage_slots) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm index 4531a68c42..30b8ccb025 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/guncabinet.dm @@ -80,10 +80,10 @@ new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/shield/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) new /obj/item/weapon/gun/launcher/grenade/m81/riot(src, TRUE) new /obj/item/storage/box/nade_box/tear_gas(src) new /obj/item/clothing/mask/gas(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm index acc43c302e..a208a61a95 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet/level_blue.dm @@ -18,10 +18,10 @@ new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/shield/riot(src) new /obj/item/weapon/shield/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) - new /obj/item/ammo_magazine/shotgun/beanbag/riot(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) + new /obj/item/ammo_magazine/shotgun/beanbag(src) new /obj/item/weapon/gun/launcher/grenade/m81/riot(src, TRUE) new /obj/item/storage/box/nade_box/tear_gas(src) new /obj/item/clothing/mask/gas(src) diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index 119615ab7a..9d9aaeb0f3 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -411,11 +411,11 @@ weapon_type = /obj/item/weapon/gun/pistol/m4a3/training ammo_type = /obj/item/ammo_magazine/pistol/rubber -/obj/structure/closet/crate/weapon/training/mod88 - name = "training 88 mod 4 crate" - desc = "A crate with an 88 mod 4 pistol and nonlethal ammunition for it. Intended for use in combat exercises." - weapon_type = /obj/item/weapon/gun/pistol/mod88/training - ammo_type = /obj/item/ammo_magazine/pistol/mod88/rubber +/obj/structure/closet/crate/weapon/training/vp70 + name = "training VP70 crate" + desc = "A crate with an VP70 pistol and nonlethal ammunition for it. Intended for use in combat exercises." + weapon_type = /obj/item/weapon/gun/pistol/vp70/training + ammo_type = /obj/item/ammo_magazine/pistol/vp70/rubber /obj/structure/closet/crate/weapon/training/grenade name = "rubber pellet M15 grenades crate" diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm index cfe7531f5f..9b19fb5b4e 100644 --- a/code/game/objects/structures/crates_lockers/largecrate.dm +++ b/code/game/objects/structures/crates_lockers/largecrate.dm @@ -377,7 +377,7 @@ /obj/item/weapon/gun/pistol/m1911 = /obj/item/ammo_magazine/pistol/m1911, /obj/item/weapon/gun/pistol/heavy = /obj/item/ammo_magazine/pistol/heavy, /obj/item/weapon/gun/revolver/small = /obj/item/ammo_magazine/revolver/small, - /obj/item/weapon/gun/revolver/cmb = /obj/item/ammo_magazine/revolver/cmb, + /obj/item/weapon/gun/revolver/spearhead = /obj/item/ammo_magazine/revolver/spearhead, /obj/item/weapon/gun/shotgun/merc = /obj/item/ammo_magazine/handful/shotgun/buckshot, /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb = /obj/item/ammo_magazine/handful/shotgun/buckshot, /obj/item/weapon/gun/smg/mp27 = /obj/item/ammo_magazine/smg/mp27, diff --git a/code/game/sound.dm b/code/game/sound.dm index 6bee74ba01..b9c9636093 100644 --- a/code/game/sound.dm +++ b/code/game/sound.dm @@ -433,8 +433,8 @@ S = pick('sound/weapons/gun_shotgun_tactical_1.ogg','sound/weapons/gun_shotgun_tactical_2.ogg','sound/weapons/gun_shotgun_tactical_3.ogg','sound/weapons/gun_shotgun_tactical_4.ogg') if("m4a3") S = pick('sound/weapons/gun_m4a3_1.ogg','sound/weapons/gun_m4a3_2.ogg','sound/weapons/gun_m4a3_3.ogg','sound/weapons/gun_m4a3_4.ogg','sound/weapons/gun_m4a3_5.ogg') - if("88m4") - S = pick('sound/weapons/gun_88m4_v7.ogg') + if("vp70") + S = pick('sound/weapons/gun_vp70_v7.ogg') if("gun_casing_shotgun") S = pick ('sound/bullets/bulletcasing_shotgun_fall1.ogg') if("gun_nsg23") diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 33d77b05c6..dc67dcd57d 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -21,7 +21,7 @@ GLOBAL_LIST_INIT(bgstate_options, list( "whitefull" )) -var/const/MAX_SAVE_SLOTS = 10 +var/const/MAX_SAVE_SLOTS = 20 /datum/preferences var/client/owner @@ -927,6 +927,18 @@ var/const/MAX_SAVE_SLOTS = 10 return jobs_to_return +/// Returns TRUE if any job has a priority other than NEVER, FALSE otherwise. +/datum/preferences/proc/has_job_priorities() + if(!length(job_preference_list)) + ResetJobs() + return FALSE + + for(var/job in job_preference_list) + if(job_preference_list[job] != NEVER_PRIORITY) + return TRUE + + return FALSE + /datum/preferences/proc/SetJobDepartment(datum/job/J, priority) if(!J || priority < 0 || priority > 4) return FALSE @@ -1594,7 +1606,7 @@ var/const/MAX_SAVE_SLOTS = 10 if("underwear") var/list/underwear_options = gender == MALE ? GLOB.underwear_m : GLOB.underwear_f var/old_gender = gender - var/new_underwear = tgui_input_list(user, "Choose your character's underwear:", "Character Preference", underwear_options) + var/new_underwear = tgui_input_list(user, "Choose your character's underwear:", "Character Preference", underwear_options-GLOB.underwear_restricted) if(old_gender != gender) return if(new_underwear) @@ -1604,7 +1616,7 @@ var/const/MAX_SAVE_SLOTS = 10 if("undershirt") var/list/undershirt_options = gender == MALE ? GLOB.undershirt_m : GLOB.undershirt_f var/old_gender = gender - var/new_undershirt = tgui_input_list(user, "Choose your character's undershirt:", "Character Preference", undershirt_options) + var/new_undershirt = tgui_input_list(user, "Choose your character's undershirt:", "Character Preference", undershirt_options-GLOB.undershirt_restricted) if(old_gender != gender) return if(new_undershirt) diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 44a9a88a6b..34c7c9b4a6 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -720,31 +720,58 @@ var/global/list/gear_datums_by_name = list() /datum/gear/weapon/m8_cartridge_bayonet display_name = "M8 Cartridge Bayonet" - path = /obj/item/storage/box/co2_knife + path = /obj/item/storage/box/loadout/co2_knife /datum/gear/weapon/clfpistol - display_name = "D18 Holdout Pistol" - path = /obj/item/storage/box/clf + display_name = "Hummingbird Pistol" + path = /obj/item/storage/box/loadout/clf -/datum/gear/weapon/upppistol //ww2 war trophy luger +/datum/gear/weapon/upppistol display_name = "Type 73 Pistol" - path = /obj/item/storage/box/upp - slot = WEAR_IN_BACK - cost = 4 + path = /obj/item/storage/box/loadout/upp /datum/gear/weapon/m4a3_custom - display_name = "M4A3 Custom Pistol" - path = /obj/item/weapon/gun/pistol/m4a3/custom + display_name = "Custom M4A3 Pistol" + path = /obj/item/storage/box/loadout/M4A3_custom_loadout + allowed_origins = USCM_ORIGINS + +/datum/gear/weapon/m1911 + display_name = "M1911 Pistol" + path = /obj/item/storage/box/loadout/M1911_loadout + allowed_origins = USCM_ORIGINS + +/datum/gear/weapon/m44 + display_name = "M44 Revolver" + path = /obj/item/storage/box/loadout/M44_loadout allowed_origins = USCM_ORIGINS /datum/gear/weapon/m44_custom_revolver - display_name = "M44 Custom Revolver" - path = /obj/item/weapon/gun/revolver/m44/custom + display_name = "Custom M44 Revolver" + path = /obj/item/storage/box/loadout/M44_custom_loadout allowed_origins = USCM_ORIGINS -/datum/gear/weapon/m1911 - display_name = "M1911 Service Pistol" - path = /obj/item/storage/box/M1911_loadout +/datum/gear/weapon/hg45_civilian + display_name = "HG 45 'Aguila' Pistol" + path = /obj/item/storage/box/loadout/HG45_civilian_loadout + +/datum/gear/weapon/hg45_marine + display_name = "HG 45 'Marina' Pistol" + path = /obj/item/storage/box/loadout/HG45_marine_loadout + allowed_origins = USCM_ORIGINS + +/datum/gear/weapon/hg44 + display_name = "HG 44 'Automag' Pistol" + path = /obj/item/storage/box/loadout/HG45_marine_loadout + allowed_origins = USCM_ORIGINS + +/datum/gear/weapon/spearhead + display_name = "Spearhead Armoury Revolver" + path = /obj/item/storage/box/loadout/Spearhead_loadout + allowed_origins = USCM_ORIGINS + +/datum/gear/weapon/spearhead_custom + display_name = "Custom Spearhead Armoury Revolver" + path = /obj/item/storage/box/loadout/Spearhead_loadout/custom allowed_origins = USCM_ORIGINS /datum/gear/weapon/m2100_machete diff --git a/code/modules/cm_marines/equipment/guncases.dm b/code/modules/cm_marines/equipment/guncases.dm index 98af79c511..3162cc32e8 100644 --- a/code/modules/cm_marines/equipment/guncases.dm +++ b/code/modules/cm_marines/equipment/guncases.dm @@ -24,7 +24,7 @@ //------------ /obj/item/storage/box/guncase/vp78 name = "\improper VP78 pistol case" - desc = "A gun case containing the VP78. Comes with two magazines." + desc = "A gun case containing a VP78. Comes with two magazines." can_hold = list(/obj/item/weapon/gun/pistol/vp78, /obj/item/ammo_magazine/pistol/vp78) storage_slots = 3 @@ -36,7 +36,7 @@ //------------ /obj/item/storage/box/guncase/smartpistol name = "\improper SU-6 pistol case" - desc = "A gun case containing the SU-6 smart pistol. Comes with a full belt holster." + desc = "A gun case containing a SU-6 smart pistol. Comes with a full belt holster." can_hold = list(/obj/item/storage/belt/gun/smartpistol, /obj/item/weapon/gun/pistol/smart, /obj/item/ammo_magazine/pistol/smart) storage_slots = 2 @@ -47,7 +47,7 @@ //------------ /obj/item/storage/box/guncase/mou53 name = "\improper MOU53 shotgun case" - desc = "A gun case containing the MOU53 shotgun. It does come loaded, but you'll still have to find ammunition as you go." + desc = "A gun case containing a MOU53 shotgun. It does come loaded, but you'll still have to find ammunition as you go." storage_slots = 2 can_hold = list(/obj/item/weapon/gun/shotgun/double/mou53, /obj/item/attachable/stock/mou53) @@ -58,7 +58,7 @@ //------------ /obj/item/storage/box/guncase/lmg name = "\improper M41AE2 heavy pulse rifle case" - desc = "A gun case containing the M41AE2 heavy pulse rifle. You can get additional ammunition at requisitions." + desc = "A gun case containing a M41AE2 heavy pulse rifle. You can get additional ammunition at requisitions." storage_slots = 5 can_hold = list(/obj/item/weapon/gun/rifle/lmg, /obj/item/ammo_magazine/rifle/lmg) @@ -72,7 +72,7 @@ //------------ /obj/item/storage/box/guncase/m41aMK1 name = "\improper M41A pulse rifle MK1 case" - desc = "A gun case containing the M41A pulse rifle MK1. It can only use proprietary MK1 magazines." + desc = "A gun case containing a loaded M41A pulse rifle MK1 and two additional magazines." storage_slots = 3 can_hold = list(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1) @@ -84,7 +84,7 @@ /obj/item/storage/box/guncase/m41aMK1AP name = "\improper M41A pulse rifle MK1 AP case" - desc = "A gun case containing the M41A pulse rifle MK1 loaded with AP rounds. It can only use proprietary MK1 magazines." + desc = "A gun case containing a M41A pulse rifle MK1 loaded with AP rounds and two additional magazines." storage_slots = 3 can_hold = list(/obj/item/weapon/gun/rifle/m41aMK1, /obj/item/ammo_magazine/rifle/m41aMK1) @@ -97,7 +97,7 @@ //M79 grenade launcher /obj/item/storage/box/guncase/m79 name = "\improper M79 grenade launcher case" - desc = "A gun case containing the modernized M79 grenade launcher. Comes with 3 baton slugs, 3 hornet shells and 3 star shell grenades." + desc = "A gun case containing a modernized M79 grenade launcher. Comes with 3 baton slugs, 3 hornet shells and 3 star shell grenades." storage_slots = 4 can_hold = list(/obj/item/weapon/gun/launcher/grenade/m81/m79, /obj/item/storage/box/packet) @@ -111,7 +111,7 @@ //R4T lever action rifle /obj/item/storage/box/guncase/r4t_scout name = "\improper R4T lever action rifle case" - desc = "A gun case containing the R4T lever action rifle, intended for scouting. Comes with an ammunition belt, the optional revolver attachment for it, two boxes of ammunition, a sling, and a stock for the rifle." + desc = "A gun case containing a R4T lever action rifle, intended for scouting. Comes with an ammunition belt, the optional revolver attachment for it, two boxes of ammunition, a sling, and a stock for the rifle." storage_slots = 7 can_hold = list(/obj/item/weapon/gun/lever_action/r4t, /obj/item/attachable/stock/r4t, /obj/item/attachable/magnetic_harness/lever_sling, /obj/item/ammo_magazine/lever_action, /obj/item/ammo_magazine/lever_action/training, /obj/item/storage/belt/shotgun/lever_action, /obj/item/storage/belt/gun/m44/lever_action/attach_holster, /obj/item/device/motiondetector/m717) @@ -126,7 +126,7 @@ /obj/item/storage/box/guncase/xm88 name = "\improper XM88 heavy rifle case" - desc = "A gun case containing the XM88 Heavy Rifle, a prototype weapon designed for use against heavily armored infantry targets and light vehicles. Contains an ammunition belt, two boxes of ammunition, the XS-9 Targeting Relay attachment, and the stock for the rifle." + desc = "A gun case containing a XM88 Heavy Rifle, a prototype weapon designed for use against heavily armored infantry targets and light vehicles. Contains an ammunition belt, two boxes of ammunition, the XS-9 Targeting Relay attachment, and the stock for the rifle." storage_slots = 6 can_hold = list(/obj/item/weapon/gun/lever_action/xm88, /obj/item/attachable/stock/xm88, /obj/item/attachable/scope/mini/xm88, /obj/item/ammo_magazine/lever_action/xm88, /obj/item/storage/belt/shotgun/xm88) @@ -141,7 +141,7 @@ //------------ /obj/item/storage/box/guncase/flamer name = "\improper M240 incinerator case" - desc = "A gun case containing the M240A1 incinerator unit. It does come loaded, but you'll still have to find extra tanks as you go." + desc = "A gun case containing a M240A1 incinerator unit. It does come loaded, but you'll still have to find extra tanks as you go." storage_slots = 4 can_hold = list(/obj/item/weapon/gun/flamer, /obj/item/ammo_magazine/flamer_tank, /obj/item/attachable/attached_gun/extinguisher) @@ -162,7 +162,7 @@ //------------ /obj/item/storage/box/guncase/m56d name = "\improper M56D heavy machine gun case" - desc = "A gun case containing the M56D heavy machine gun. You'll need to order resupplies from requisitions or scavenge them on the field. How do they fit all this into a case? Wouldn't you need a crate." + desc = "A gun case containing a M56D heavy machine gun. You'll need to order resupplies from requisitions or scavenge them on the field. How do they fit all this into a case? Wouldn't you need a crate." storage_slots = 8 can_hold = list(/obj/item/device/m56d_gun, /obj/item/ammo_magazine/m56d, /obj/item/device/m56d_post, /obj/item/tool/wrench, /obj/item/tool/screwdriver, /obj/item/ammo_magazine/m56d, /obj/item/pamphlet/skill/machinegunner, /obj/item/storage/belt/marine/m2c) @@ -179,7 +179,7 @@ //------------ /obj/item/storage/box/guncase/m2c name = "\improper M2C heavy machine gun case" - desc = "A gun case containing the M2C heavy machine gun. It doesn't come loaded, but it does have spare ammunition. You'll have to order extras from requisitions." + desc = "A gun case containing a M2C heavy machine gun. It doesn't come loaded, but it does have spare ammunition. You'll have to order extras from requisitions." storage_slots = 7 can_hold = list(/obj/item/pamphlet/skill/machinegunner, /obj/item/device/m2c_gun, /obj/item/ammo_magazine/m2c, /obj/item/storage/belt/marine/m2c, /obj/item/pamphlet/skill/machinegunner) @@ -195,7 +195,7 @@ //------------ /obj/item/storage/box/guncase/m41a name = "\improper M41A pulse rifle MK2 case" - desc = "A gun case containing the M41A pulse rifle MK2." + desc = "A gun case containing a M41A pulse rifle MK2." storage_slots = 5 can_hold = list(/obj/item/weapon/gun/rifle/m41a, /obj/item/ammo_magazine/rifle) @@ -206,43 +206,50 @@ //------------ -/obj/item/storage/box/guncase/pumpshotgun - name = "\improper M37A2 Pump Shotgun case" - desc = "A gun case containing the M37A2 Pump Shotgun." - icon_state = "guncase_red" - storage_slots = 4 - can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/flechette, /obj/item/ammo_magazine/shotgun/slugs, /obj/item/storage/pouch/shotgun) +/obj/item/storage/box/guncase/shotguncombat + name = "\improper M120 tactical shotgun case" + desc = "A gun case containing an unloaded M120 tactical shotgun, two boxes of 12 gauge buckshot, and one box of 12 gauge slug." + icon_state = "guncase" + storage_slots = 3 + can_hold = list(/obj/item/weapon/gun/shotgun/combat, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/slugs) + +/obj/item/storage/box/guncase/shotguncombat/fill_preset_inventory() + new /obj/item/weapon/gun/shotgun/combat(src) + new /obj/item/ammo_magazine/shotgun/buckshot(src) + new /obj/item/ammo_magazine/shotgun/slugs(src) + +/obj/item/storage/box/guncase/shotgunpump + name = "\improper Ithaca 37 pump-action shotgun case" + desc = "A gun case containing an unloaded Ithaca 37 pump-action shotgun, a box of 12 gauge buckshot, and a box of 12 gauge slugs." + icon_state = "matebacase" + storage_slots = 3 + can_hold = list(/obj/item/weapon/gun/shotgun/pump, /obj/item/ammo_magazine/shotgun/buckshot, /obj/item/ammo_magazine/shotgun/slugs) -/obj/item/storage/box/guncase/pumpshotgun/fill_preset_inventory() +/obj/item/storage/box/guncase/shotgunpump/fill_preset_inventory() new /obj/item/weapon/gun/shotgun/pump(src) - new /obj/item/storage/pouch/shotgun(src) - new /obj/item/storage/large_holster/m37(src) - for(var/i = 1 to 3) - var/random_pick = rand(1, 3) - switch(random_pick) - if(1) - new /obj/item/ammo_magazine/shotgun/buckshot(src) - if(2) - new /obj/item/ammo_magazine/shotgun/flechette(src) - if(3) - new /obj/item/ammo_magazine/shotgun/slugs(src) - -/obj/item/storage/box/guncase/pumpshotgun/special + new /obj/item/ammo_magazine/shotgun/buckshot(src) + new /obj/item/ammo_magazine/shotgun/slugs(src) + + +/obj/item/storage/box/guncase/shotgunpump/special + name = "\improper Ithaca 37 pump-action shotgun case" + desc = "A gun case containing an unloaded Ithaca 37 pump-action shotgun and one box of 12 gauge USCM Special buckshot." + icon_state = "matebacase" storage_slots = 2 -/obj/item/storage/box/guncase/pumpshotgun/special/fill_preset_inventory() - new /obj/item/weapon/gun/shotgun/pump/special(src) +/obj/item/storage/box/guncase/shotgunpump/special/fill_preset_inventory() + new /obj/item/weapon/gun/shotgun/pump(src) new /obj/item/ammo_magazine/shotgun/buckshot/special(src) new /obj/item/storage/pouch/shotgun(src) new /obj/item/storage/large_holster/m37(src) -/obj/item/storage/box/guncase/mk45_automag - name = "\improper MK-45 Automagnum case" - desc = "A gun case containing the MK-45 'High-Power' Automagnum sidearm. While this weapon was rejected as a replacement for the M44 Combat Revolver, it is often back-issued to troops who prefer its powerful bullets over more common sidearms." +/obj/item/storage/box/guncase/hg45 + name = "\improper HG 45 pistol case" + desc = "A gun case containing a HG 45 pistol." storage_slots = 6 can_hold = list(/obj/item/weapon/gun/pistol/highpower, /obj/item/ammo_magazine/pistol/highpower) -/obj/item/storage/box/guncase/mk45_automag/fill_preset_inventory() +/obj/item/storage/box/guncase/hg45/fill_preset_inventory() if(prob(30)) new /obj/item/weapon/gun/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) @@ -251,19 +258,11 @@ new /obj/item/ammo_magazine/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) new /obj/item/ammo_magazine/pistol/highpower(src) - else - new /obj/item/weapon/gun/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) - new /obj/item/ammo_magazine/pistol/highpower/black(src) /obj/item/storage/box/guncase/nsg23_marine name = "\improper NSG-23 assault rifle case" - desc = "A gun case containing the NSG 23 assault rifle. While usually seen in the hands of PMCs, this weapon is sometimes issued to USCM personnel." + desc = "A gun case containing a NSG 23 assault rifle. While usually seen in the hands of PMCs, this weapon is sometimes issued to USCM personnel." storage_slots = 6 can_hold = list(/obj/item/weapon/gun/rifle/nsg23/no_lock, /obj/item/ammo_magazine/rifle/nsg23) @@ -277,7 +276,7 @@ /obj/item/storage/box/guncase/m3717 name = "\improper M37-17 pump shotgun case" - desc = "A gun case containing the M37-17 pump shotgun. Rarely seen issued to USCM vessels on the edges of inhabited space who need the extra bang for their buck (literally) the M37-17 has. Like this one! Well, if it had the budget for it." + desc = "A gun case containing a M37-17 pump shotgun. Rarely seen issued to USCM vessels on the edges of inhabited space who need the extra bang for their buck (literally) the M37-17 has. Like this one! Well, if it had the budget for it." storage_slots = 4 can_hold = list(/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/m3717, /obj/item/ammo_magazine/shotgun/buckshot) @@ -289,7 +288,7 @@ /obj/item/storage/box/guncase/m1911 name = "\improper M1911 service pistol case" - desc = "A gun case containing the M1911 service pistol. It might be three centuries old but it's still a damn good pistol. Back-issue only, though." + desc = "A gun case containing a M1911 service pistol. It might be three centuries old but it's still a damn good pistol. Back-issue only, though." storage_slots = 7 can_hold = list(/obj/item/weapon/gun/pistol/m1911, /obj/item/ammo_magazine/pistol/m1911) @@ -331,7 +330,7 @@ /obj/item/storage/box/guncase/vulture name = "\improper M707 anti-materiel rifle case" - desc = "A gun case containing the M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." + desc = "A gun case containing a M707 \"Vulture\" anti-materiel rifle and its requisite spotting tools." icon_state = "guncase_blue" storage_slots = 7 can_hold = list( @@ -364,24 +363,24 @@ //Handgun case for Military police vendor three mag , a railflashligh and the handgun. -//88 Mod 4 Combat Pistol -/obj/item/storage/box/guncase/mod88 - name = "\improper 88 Mod 4 Combat Pistol case" - desc = "A gun case containing an 88 Mod 4 Combat Pistol." +//VP70 Combat Pistol +/obj/item/storage/box/guncase/vp70 + name = "\improper VP70 Combat Pistol case" + desc = "A gun case containing a VP70 Combat Pistol." storage_slots = 5 - can_hold = list(/obj/item/attachable/flashlight, /obj/item/weapon/gun/pistol/mod88, /obj/item/ammo_magazine/pistol/mod88) + can_hold = list(/obj/item/attachable/flashlight, /obj/item/weapon/gun/pistol/vp70, /obj/item/ammo_magazine/pistol/vp70) -/obj/item/storage/box/guncase/mod88/fill_preset_inventory() +/obj/item/storage/box/guncase/vp70/fill_preset_inventory() new /obj/item/attachable/flashlight(src) - new /obj/item/weapon/gun/pistol/mod88(src) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) - new /obj/item/ammo_magazine/pistol/mod88/normalpoint(src) + new /obj/item/weapon/gun/pistol/vp70(src) + new /obj/item/ammo_magazine/pistol/vp70(src) + new /obj/item/ammo_magazine/pistol/vp70(src) + new /obj/item/ammo_magazine/pistol/vp70(src) //M44 Combat Revolver /obj/item/storage/box/guncase/m44 name = "\improper M44 Combat Revolver case" - desc = "A gun case containing an M44 Combat Revolver loaded with marksman ammo." + desc = "A gun case containing a M44 Combat Revolver loaded with marksman ammo." storage_slots = 5 can_hold = list(/obj/item/attachable/flashlight, /obj/item/weapon/gun/revolver/m44, /obj/item/ammo_magazine/revolver) @@ -395,7 +394,7 @@ //M4A3 Service Pistol /obj/item/storage/box/guncase/m4a3 name = "\improper M4A3 Service Pistol case" - desc = "A gun case containing an M4A3 Service Pistol." + desc = "A gun case containing a M4A3 Service Pistol." storage_slots = 5 can_hold = list(/obj/item/attachable/flashlight, /obj/item/weapon/gun/pistol/m4a3, /obj/item/ammo_magazine/pistol) diff --git a/code/modules/cm_marines/equipment/kit_boxes.dm b/code/modules/cm_marines/equipment/kit_boxes.dm index 6058ae93ec..f0172a2858 100644 --- a/code/modules/cm_marines/equipment/kit_boxes.dm +++ b/code/modules/cm_marines/equipment/kit_boxes.dm @@ -491,7 +491,7 @@ icon_state = "[initial(icon_state)]_e" /obj/item/storage/box/kit/cryo_self_defense/fill_preset_inventory() - new /obj/item/weapon/gun/pistol/mod88/flashlight(src) + new /obj/item/weapon/gun/pistol/vp70/flashlight(src) new /obj/item/attachable/bayonet(src) new /obj/item/reagent_container/food/snacks/packaged_meal(src, pick("boneless pork ribs", "grilled chicken", "pizza square", "spaghetti chunks", "chicken tender")) diff --git a/code/modules/cm_marines/overwatch.dm b/code/modules/cm_marines/overwatch.dm index c29b4ad5b5..8fcf1a4020 100644 --- a/code/modules/cm_marines/overwatch.dm +++ b/code/modules/cm_marines/overwatch.dm @@ -218,6 +218,9 @@ if(DEAD) mob_state = "Dead" + if(mob_state == "Conscious" && (locate(/datum/effects/crit) in marine_human.effects_list)) + mob_state = "Incapacitated" + if(!istype(marine_human.head, /obj/item/clothing/head/helmet/marine)) has_helmet = FALSE diff --git a/code/modules/cm_tech/implements/ammo_kits.dm b/code/modules/cm_tech/implements/ammo_kits.dm index bcf267a54c..8cce3da199 100644 --- a/code/modules/cm_tech/implements/ammo_kits.dm +++ b/code/modules/cm_tech/implements/ammo_kits.dm @@ -62,7 +62,7 @@ .[/obj/item/ammo_magazine/rifle/m41aMK1] = /obj/item/ammo_magazine/rifle/m41aMK1/incendiary .[/obj/item/ammo_magazine/pistol] = /obj/item/ammo_magazine/pistol/incendiary .[/obj/item/ammo_magazine/pistol/vp78] = /obj/item/ammo_magazine/pistol/vp78/incendiary - .[/obj/item/ammo_magazine/pistol/mod88] = /obj/item/ammo_magazine/pistol/mod88/incendiary + .[/obj/item/ammo_magazine/pistol/vp70] = /obj/item/ammo_magazine/pistol/vp70/incendiary .[/obj/item/ammo_magazine/revolver] = /obj/item/ammo_magazine/revolver/incendiary /obj/item/storage/box/shotgun @@ -110,7 +110,7 @@ .[/obj/item/ammo_magazine/rifle/m41aMK1] = /obj/item/ammo_magazine/rifle/m41aMK1/penetrating .[/obj/item/ammo_magazine/pistol] = /obj/item/ammo_magazine/pistol/penetrating .[/obj/item/ammo_magazine/pistol/vp78] = /obj/item/ammo_magazine/pistol/vp78/penetrating - .[/obj/item/ammo_magazine/pistol/mod88] = /obj/item/ammo_magazine/pistol/mod88/penetrating + .[/obj/item/ammo_magazine/pistol/vp70] = /obj/item/ammo_magazine/pistol/vp70/penetrating .[/obj/item/ammo_magazine/revolver] = /obj/item/ammo_magazine/revolver/penetrating /obj/item/ammo_kit/toxin @@ -126,5 +126,5 @@ .[/obj/item/ammo_magazine/rifle/m41aMK1] = /obj/item/ammo_magazine/rifle/m41aMK1/toxin .[/obj/item/ammo_magazine/pistol] = /obj/item/ammo_magazine/pistol/toxin .[/obj/item/ammo_magazine/pistol/vp78] = /obj/item/ammo_magazine/pistol/vp78/toxin - .[/obj/item/ammo_magazine/pistol/mod88] = /obj/item/ammo_magazine/pistol/mod88/toxin + .[/obj/item/ammo_magazine/pistol/vp70] = /obj/item/ammo_magazine/pistol/vp70/toxin .[/obj/item/ammo_magazine/revolver] = /obj/item/ammo_magazine/revolver/marksman/toxin diff --git a/code/modules/gear_presets/_select_equipment.dm b/code/modules/gear_presets/_select_equipment.dm index 6aefa9a673..8dafd13b36 100644 --- a/code/modules/gear_presets/_select_equipment.dm +++ b/code/modules/gear_presets/_select_equipment.dm @@ -893,8 +893,8 @@ var/list/rebel_rifles = list( new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/b92fs(new_human), WEAR_IN_BACK) if(1) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/spearhead(new_human), WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead(new_human), WEAR_IN_BACK) if(2) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/highpower(new_human), WEAR_IN_BACK) @@ -1050,20 +1050,11 @@ var/list/rebel_rifles = list( ) /datum/equipment_preset/proc/load_upp_shotgun(mob/living/carbon/human/new_human) - var/random_shotgun = rand(1,3) - switch(random_shotgun) - if(1) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) - if(2) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/slug, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyslug, WEAR_R_STORE) - if(3) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/breacher/flechette, WEAR_J_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_L_STORE) - new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavyflechette, WEAR_R_STORE) + + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + /datum/equipment_preset/proc/add_upp_weapon(mob/living/carbon/human/new_human) var/random_gun = rand(1,5) diff --git a/code/modules/gear_presets/cbrn.dm b/code/modules/gear_presets/cbrn.dm index 98a6b0665e..bcc24c101f 100644 --- a/code/modules/gear_presets/cbrn.dm +++ b/code/modules/gear_presets/cbrn.dm @@ -44,7 +44,7 @@ if("flamethrower") new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/flamer/underextinguisher(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/flamethrower/kit(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) @@ -91,7 +91,7 @@ if("flamethrower") new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/flamer/underextinguisher(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/engineerpack/flamethrower/kit(new_human), WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/flamer_tank(new_human), WEAR_IN_BACK) @@ -122,7 +122,7 @@ . = ..() new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/webbing/five_slots(new_human), WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/marine/medic(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full/dutch(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medkit/full_advanced(new_human), WEAR_L_STORE) diff --git a/code/modules/gear_presets/clf.dm b/code/modules/gear_presets/clf.dm index 91a44328e4..277c21036b 100644 --- a/code/modules/gear_presets/clf.dm +++ b/code/modules/gear_presets/clf.dm @@ -455,7 +455,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/swat(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/night(new_human), WEAR_EYES) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CLF/cct(new_human), WEAR_L_EAR) diff --git a/code/modules/gear_presets/cmb.dm b/code/modules/gear_presets/cmb.dm index 0f5f67e071..c348f63fae 100644 --- a/code/modules/gear_presets/cmb.dm +++ b/code/modules/gear_presets/cmb.dm @@ -77,9 +77,9 @@ switch(choice) if(1 to 6) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/full/revolver, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) @@ -111,9 +111,9 @@ new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun, WEAR_IN_R_STORE) if(10) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/CMB/full/revolver, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41aMK1, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) @@ -147,9 +147,9 @@ new_human.equip_to_slot_or_del(new headset_type, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/CM_uniform, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/cmb, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/CMB/marshal, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/telebaton, WEAR_IN_JACKET) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/m3717, WEAR_J_STORE) @@ -227,9 +227,9 @@ load_name(new_human) //backpack new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/security, WEAR_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb/normalpoint, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/cmb, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_BACK) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver/spearhead, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/autopsy_scanner, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic/breaching_charge, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio, WEAR_IN_BACK) @@ -296,9 +296,9 @@ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/CMB/ICC, WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/liaison_suit/corporate_formal, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/mod88, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/health/ceramic_plate, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/hardhat/white, WEAR_HEAD) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/hazardvest/yellow, WEAR_JACKET) diff --git a/code/modules/gear_presets/corpses.dm b/code/modules/gear_presets/corpses.dm index 450758c691..16d1b960e0 100644 --- a/code/modules/gear_presets/corpses.dm +++ b/code/modules/gear_presets/corpses.dm @@ -356,7 +356,7 @@ else new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(new_human), WEAR_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/distress/WY(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) @@ -786,7 +786,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/mask/rebreather/scarf, WEAR_FACE) new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/satchel, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/device/radio(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/full(new_human), WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/ert(new_human), WEAR_L_STORE) add_random_survivor_equipment(new_human) @@ -814,7 +814,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/weapon/baton, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) /datum/equipment_preset/corpse/pmc/goon/lead @@ -835,7 +835,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack/five_slot, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/weapon/baton, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) // Freelancer diff --git a/code/modules/gear_presets/pmc.dm b/code/modules/gear_presets/pmc.dm index 1dcb5fa95c..1f4a9d40df 100644 --- a/code/modules/gear_presets/pmc.dm +++ b/code/modules/gear_presets/pmc.dm @@ -90,7 +90,7 @@ new_human.equip_to_slot_or_del(new /obj/item/explosive/plastic, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/weapon/baton, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) switch(choice) @@ -229,7 +229,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/storage/backpack/lightpack, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/weapon/baton, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster, WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/taser, WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) @@ -1368,7 +1368,7 @@ list("POUCHES (CHOOSE 2)", 0, null, null, null), new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m39/ap, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/smg/m39/ap, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/magazine/large/pmc_m39, WEAR_L_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) diff --git a/code/modules/gear_presets/survivors/misc.dm b/code/modules/gear_presets/survivors/misc.dm index b79df671af..f55ea6f30d 100644 --- a/code/modules/gear_presets/survivors/misc.dm +++ b/code/modules/gear_presets/survivors/misc.dm @@ -199,7 +199,7 @@ everything bellow isn't used or out of place. new_human.equip_to_slot_or_del(new /obj/item/stack/sheet/metal/large_stack(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle(new_human), WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/rifle(new_human), WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88_near_empty, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70_near_empty, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/corporate/no_lock, WEAR_J_STORE) diff --git a/code/modules/gear_presets/upp.dm b/code/modules/gear_presets/upp.dm index 5488403e72..ada9398189 100644 --- a/code/modules/gear_presets/upp.dm +++ b/code/modules/gear_presets/upp.dm @@ -127,7 +127,10 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/box/m94, WEAR_IN_BACK) //4.25 //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/type47/np92, WEAR_WAIST) - load_upp_shotgun(new_human) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_L_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/shotgun/heavybuck, WEAR_R_STORE) + /datum/equipment_preset/upp/soldier/proc/load_upp_double(mob/living/carbon/human/new_human, obj/item/clothing/under/marine/veteran/UPP/UPP) @@ -135,7 +138,7 @@ var/rifle = prob(50) ? /obj/item/weapon/gun/rifle/type71/dual : /obj/item/weapon/gun/rifle/type71/carbine/dual new_human.equip_to_slot_or_del(new rifle, WEAR_BACK) //body - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dual, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/marine/upp/full, WEAR_WAIST) //pockets @@ -567,7 +570,7 @@ UPP.attach_accessory(new_human, W) for(var/i in 1 to W.hold.storage_slots) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/heavy/dragonsbreath, WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dragon, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/handful/shotgun/heavy/dragonsbreath, WEAR_IN_JACKET) //waist var/uppvetsidearm = prob(50) ? /obj/item/storage/belt/gun/type47/t73 : /obj/item/storage/belt/gun/type47/np92 @@ -2572,7 +2575,7 @@ new_human.equip_to_slot_or_del(UPP, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/faction/UPP, WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars, WEAR_IN_JACKET) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23/dual, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/shotgun/type23, WEAR_J_STORE) //waist new_human.equip_to_slot_or_del(new /obj/item/storage/belt/shotgun/upp/heavybuck(new_human), WEAR_WAIST) //limb diff --git a/code/modules/gear_presets/uscm.dm b/code/modules/gear_presets/uscm.dm index 82ba128bcd..fc62b57eaf 100644 --- a/code/modules/gear_presets/uscm.dm +++ b/code/modules/gear_presets/uscm.dm @@ -305,7 +305,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/tanker(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/tanker(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new /obj/item/tool/weldpack(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/tools/tank(new_human), WEAR_R_STORE) @@ -794,20 +794,16 @@ new_human.equip_to_slot_or_del(new new_mask, WEAR_FACE) /datum/equipment_preset/uscm/smartgunner_equipped/random/spawn_marine_sidearm(mob/living/carbon/human/new_human) - var/sidearm = pick("m4a3", "mod88", "vp78", "m44") + var/sidearm = pick("m4a3", "vp70", "m44") switch(sidearm) if("m4a3") new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/m4a3(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol(new_human), WEAR_IN_ACCESSORY) - if("mod88") - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - if("vp78") - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp78(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp78(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp78(new_human), WEAR_IN_ACCESSORY) + if("vp70") + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) if("m44") new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/revolver/m44(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/revolver(new_human), WEAR_IN_ACCESSORY) diff --git a/code/modules/gear_presets/uscm_event.dm b/code/modules/gear_presets/uscm_event.dm index 5f7c40c016..690400ee48 100644 --- a/code/modules/gear_presets/uscm_event.dm +++ b/code/modules/gear_presets/uscm_event.dm @@ -293,7 +293,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/mp/provost/senior(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/jacket/marine/provost(new_human), WEAR_JACKET) if(new_human.disabilities & NEARSIGHTED) new_human.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses/sechud/prescription(new_human), WEAR_EYES) diff --git a/code/modules/gear_presets/uscm_police.dm b/code/modules/gear_presets/uscm_police.dm index 108aca26d9..619b88a1b6 100644 --- a/code/modules/gear_presets/uscm_police.dm +++ b/code/modules/gear_presets/uscm_police.dm @@ -48,9 +48,9 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/armband/mpsec(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster(new_human), WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full(new_human), WEAR_WAIST) @@ -110,9 +110,9 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/armband/mpsec(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster(new_human), WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full(new_human), WEAR_WAIST) @@ -172,9 +172,9 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/armband/mpsec(new_human), WEAR_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/accessory/storage/holster(new_human), WEAR_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/mod88(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) - new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/mod88/normalpoint(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) + new_human.equip_to_slot_or_del(new /obj/item/ammo_magazine/pistol/vp70(new_human), WEAR_IN_ACCESSORY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/marine(new_human), WEAR_HANDS) new_human.equip_to_slot_or_del(new /obj/item/storage/belt/security/MP/full(new_human), WEAR_WAIST) diff --git a/code/modules/gear_presets/uscm_ship.dm b/code/modules/gear_presets/uscm_ship.dm index 905fa8265b..9402b1be47 100644 --- a/code/modules/gear_presets/uscm_ship.dm +++ b/code/modules/gear_presets/uscm_ship.dm @@ -587,7 +587,7 @@ new_human.equip_to_slot_or_del(new /obj/item/device/radio/headset/almayer/mcom(new_human), WEAR_L_EAR) new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/bridge(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/dress(new_human), WEAR_FEET) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/head/cmcap/bridge(new_human), WEAR_HEAD) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/medium(new_human), WEAR_L_STORE) @@ -773,7 +773,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/pilot(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) @@ -866,7 +866,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/officer/pilot/dcc(new_human), WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife(new_human), WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow(new_human), WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88(new_human), WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70(new_human), WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/marine/light/vest/dcc(new_human), WEAR_JACKET) new_human.equip_to_slot_or_del(new back_item(new_human), WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large(new_human), WEAR_R_STORE) diff --git a/code/modules/gear_presets/wo.dm b/code/modules/gear_presets/wo.dm index 81ea9b8f6a..29b2be28ce 100644 --- a/code/modules/gear_presets/wo.dm +++ b/code/modules/gear_presets/wo.dm @@ -309,7 +309,7 @@ new_human.equip_to_slot_or_del(new /obj/item/clothing/under/marine/engineer, WEAR_BODY) new_human.equip_to_slot_or_del(new /obj/item/clothing/shoes/marine/knife, WEAR_FEET) new_human.equip_to_slot_or_del(new /obj/item/clothing/gloves/black, WEAR_HANDS) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new back_item, WEAR_BACK) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/general/large, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/device/binoculars/range, WEAR_IN_R_STORE) diff --git a/code/modules/gear_presets/wy_goons.dm b/code/modules/gear_presets/wy_goons.dm index 5160f0bf31..53bdaa4041 100644 --- a/code/modules/gear_presets/wy_goons.dm +++ b/code/modules/gear_presets/wy_goons.dm @@ -79,7 +79,7 @@ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/m41a/corporate, WEAR_J_STORE) @@ -116,7 +116,7 @@ new_human.equip_to_slot_or_del(new /obj/item/handcuffs/zip, WEAR_IN_BACK) new_human.equip_to_slot_or_del(new /obj/item/tool/crowbar, WEAR_IN_BACK) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_WAIST) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_WAIST) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/firstaid/full, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/weapon/gun/rifle/nsg23, WEAR_J_STORE) @@ -150,7 +150,7 @@ new_human.equip_to_slot_or_del(new /obj/item/storage/belt/medical/lifesaver/full, WEAR_WAIST) - new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/mod88, WEAR_J_STORE) + new_human.equip_to_slot_or_del(new /obj/item/storage/belt/gun/m4a3/vp70, WEAR_J_STORE) new_human.equip_to_slot_or_del(new /obj/item/storage/pouch/medical, WEAR_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/surgical_line, WEAR_IN_R_STORE) new_human.equip_to_slot_or_del(new /obj/item/tool/surgery/synthgraft, WEAR_IN_R_STORE) diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index c394431c72..1496ce2595 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -862,6 +862,7 @@ nutrition -= 40 apply_damage(-3, TOX) addtimer(VARSET_CALLBACK(src, lastpuke, FALSE), 35 SECONDS) + reagents.remove_any(rand(15, 30)) /mob/living/carbon/human/proc/get_visible_gender() if(wear_suit && wear_suit.flags_inv_hide & HIDEJUMPSUIT && ((head && head.flags_inv_hide & HIDEMASK) || wear_mask)) diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index fa35cb1fe9..a1c3b5a4d0 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -22,7 +22,7 @@ return 1 // If unconcious with oxygen damage, do CPR. If dead, we do CPR - if(!(stat == UNCONSCIOUS && getOxyLoss() > 0) && !(stat == DEAD)) + if(!((stat == UNCONSCIOUS || (locate(/datum/effects/crit) in effects_list)) && getOxyLoss() > 0) && !(stat == DEAD)) help_shake_act(attacking_mob) return 1 diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm index b84c8e9d24..32dd9ddef8 100644 --- a/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm +++ b/code/modules/mob/living/carbon/human/life/handle_regular_hud_updates.dm @@ -7,7 +7,7 @@ if(stat != DEAD) //the dead get zero fullscreens - if(stat == UNCONSCIOUS) + if(stat == UNCONSCIOUS || (locate(/datum/effects/crit) in effects_list)) var/severity = 0 switch(health) if(-20 to -10) severity = 1 diff --git a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm index 5b37238d28..65f98d928e 100644 --- a/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm +++ b/code/modules/mob/living/carbon/human/life/handle_regular_status_updates.dm @@ -42,7 +42,8 @@ //UNCONSCIOUS. NO-ONE IS HOME if(regular_update && ((getOxyLoss() > 50))) - apply_effect(3, PARALYZE) + KnockDown(3) + Stun(3) if((src.species.flags & HAS_HARDCRIT) && HEALTH_THRESHOLD_CRIT > health) var/already_in_crit = FALSE diff --git a/code/modules/mob/living/carbon/xenomorph/ai/xeno_ai.dm b/code/modules/mob/living/carbon/xenomorph/ai/xeno_ai.dm index 6e5ca5f2c1..7ccd4cde55 100644 --- a/code/modules/mob/living/carbon/xenomorph/ai/xeno_ai.dm +++ b/code/modules/mob/living/carbon/xenomorph/ai/xeno_ai.dm @@ -235,16 +235,12 @@ var/atom/movable/closest_target var/smallest_distance = INFINITY - for(var/mob/living/carbon/potential_target as anything in GLOB.alive_mob_list) - if(!istype(potential_target)) - continue + var/list/valid_targets = SSxeno_ai.get_valid_targets(src) + for(var/atom/movable/potential_target as anything in valid_targets) if(z != potential_target.z) continue - if(!potential_target.ai_can_target(src)) - continue - var/distance = get_dist(src, potential_target) if(distance > ai_range) @@ -258,59 +254,6 @@ closest_target = potential_target smallest_distance = distance - for(var/obj/vehicle/multitile/potential_vehicle_target as anything in GLOB.all_multi_vehicles) - if(z != potential_vehicle_target.z) - continue - - var/distance = get_dist(src, potential_vehicle_target) - - if(distance > ai_range) - continue - - if(potential_vehicle_target.health <= 0) - continue - - var/multitile_faction = potential_vehicle_target.vehicle_faction - if(hive.faction_is_ally(multitile_faction)) - continue - - var/skip_vehicle - var/list/interior_living_mobs = potential_vehicle_target.interior.get_passengers() - for(var/mob/living/carbon/human/human_mob in interior_living_mobs) - if(!human_mob.ai_can_target(src)) - continue - - skip_vehicle = FALSE - break - - if(skip_vehicle) - continue - - viable_targets += potential_vehicle_target - - if(smallest_distance <= distance) - continue - - closest_target = potential_vehicle_target - smallest_distance = distance - - for(var/obj/structure/machinery/defenses/potential_defense_target as anything in GLOB.all_active_defenses) - if(z != potential_defense_target.z) - continue - - var/distance = get_dist(src, potential_defense_target) - - if(distance > ai_range) - continue - - viable_targets += potential_defense_target - - if(smallest_distance <= distance) - continue - - closest_target = potential_defense_target - smallest_distance = distance - var/extra_check_distance = round(smallest_distance * EXTRA_CHECK_DISTANCE_MULTIPLIER) if(extra_check_distance < 1) diff --git a/code/modules/mob/living/carbon/xenomorph/xeno_ai_interaction.dm b/code/modules/mob/living/carbon/xenomorph/xeno_ai_interaction.dm index 40e20fc06f..9627ac60c0 100644 --- a/code/modules/mob/living/carbon/xenomorph/xeno_ai_interaction.dm +++ b/code/modules/mob/living/carbon/xenomorph/xeno_ai_interaction.dm @@ -138,7 +138,7 @@ At bare minimum, make sure the relevant checks from parent types gets copied in // MOBS // ///////////////////////////// /mob/living/ai_check_stat(mob/living/carbon/xenomorph/X) - return stat == CONSCIOUS + return stat == CONSCIOUS && !(locate(/datum/effects/crit) in effects_list) ///////////////////////////// diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index b76f980480..e040a2dac3 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -16,8 +16,10 @@ randomize_hair_color("facial") randomize_eyes_color() randomize_skin_color() - underwear = gender == MALE ? pick(GLOB.underwear_m) : pick(GLOB.underwear_f) - undershirt = gender == MALE ? pick(GLOB.undershirt_m) : pick(GLOB.undershirt_f) + var/list/undershirt_options = gender == MALE ? GLOB.undershirt_m : GLOB.undershirt_f + undershirt = pick(undershirt_options-GLOB.undershirt_restricted) + var/list/underwear_options = gender == MALE ? GLOB.underwear_m : GLOB.underwear_f + underwear = pick(underwear_options-GLOB.underwear_restricted) backbag = 2 age = rand(AGE_MIN,AGE_MAX) if(H) diff --git a/code/modules/mob/new_player/sprite_accessories/undershirt.dm b/code/modules/mob/new_player/sprite_accessories/undershirt.dm index 5919b75636..5fb59cf261 100644 --- a/code/modules/mob/new_player/sprite_accessories/undershirt.dm +++ b/code/modules/mob/new_player/sprite_accessories/undershirt.dm @@ -1,12 +1,15 @@ GLOBAL_LIST_INIT_TYPED(undershirt_m, /datum/sprite_accessory/undershirt, setup_undershirt(MALE)) GLOBAL_LIST_INIT_TYPED(undershirt_f, /datum/sprite_accessory/undershirt, setup_undershirt(FEMALE)) +GLOBAL_LIST_INIT_TYPED(undershirt_restricted, /datum/sprite_accessory/undershirt, setup_undershirt(null, TRUE)) -/proc/setup_undershirt(restricted_gender) +/proc/setup_undershirt(restricted_gender, restricted) var/list/undershirt_list = list() for(var/undershirt_type in subtypesof(/datum/sprite_accessory/undershirt)) var/datum/sprite_accessory/undershirt/undershirt_datum = new undershirt_type if(restricted_gender && undershirt_datum.gender != restricted_gender && (undershirt_datum.gender == MALE || undershirt_datum.gender == FEMALE)) continue + if(restricted && !undershirt_datum.restricted) + continue if(undershirt_datum.camo_conforming) undershirt_list["[undershirt_datum.name] (Camo Conforming)"] = undershirt_datum var/datum/sprite_accessory/undershirt/classic_datum = new undershirt_type @@ -28,6 +31,7 @@ GLOBAL_LIST_INIT_TYPED(undershirt_f, /datum/sprite_accessory/undershirt, setup_u /datum/sprite_accessory/undershirt icon = 'icons/mob/humans/undershirt.dmi' var/camo_conforming = FALSE + var/restricted = FALSE /datum/sprite_accessory/undershirt/proc/get_image(mob_gender) var/selected_icon_state = icon_state @@ -117,3 +121,10 @@ GLOBAL_LIST_INIT_TYPED(undershirt_f, /datum/sprite_accessory/undershirt, setup_u icon_state = "strapless" gender = FEMALE camo_conforming = TRUE + +// Restricted +/datum/sprite_accessory/undershirt/telnyashka + name = "Telnyashka" + icon_state = "telnyashka" + gender = NEUTER + restricted = TRUE diff --git a/code/modules/mob/new_player/sprite_accessories/underwear.dm b/code/modules/mob/new_player/sprite_accessories/underwear.dm index 869179619e..9c98abccb2 100644 --- a/code/modules/mob/new_player/sprite_accessories/underwear.dm +++ b/code/modules/mob/new_player/sprite_accessories/underwear.dm @@ -1,12 +1,15 @@ GLOBAL_LIST_INIT_TYPED(underwear_m, /datum/sprite_accessory/underwear, setup_underwear(MALE)) GLOBAL_LIST_INIT_TYPED(underwear_f, /datum/sprite_accessory/underwear, setup_underwear(FEMALE)) +GLOBAL_LIST_INIT_TYPED(underwear_restricted, /datum/sprite_accessory/underwear, setup_underwear(null, TRUE)) -/proc/setup_underwear(restricted_gender) +/proc/setup_underwear(restricted_gender, restricted) var/list/underwear_list = list() for(var/underwear_type in subtypesof(/datum/sprite_accessory/underwear)) var/datum/sprite_accessory/underwear/underwear_datum = new underwear_type if(restricted_gender && underwear_datum.gender != restricted_gender && (underwear_datum.gender == MALE || underwear_datum.gender == FEMALE)) continue + if(restricted && !underwear_datum.restricted) + continue if(underwear_datum.camo_conforming) underwear_list["[underwear_datum.name] (Camo Conforming)"] = underwear_datum var/datum/sprite_accessory/underwear/classic_datum = new underwear_type @@ -28,6 +31,7 @@ GLOBAL_LIST_INIT_TYPED(underwear_f, /datum/sprite_accessory/underwear, setup_und /datum/sprite_accessory/underwear icon = 'icons/mob/humans/underwear.dmi' var/camo_conforming = FALSE + var/restricted = FALSE /datum/sprite_accessory/underwear/proc/get_image(mob_gender) var/selected_icon_state = icon_state diff --git a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm index 4f09acbf11..fa0112641c 100644 --- a/code/modules/projectiles/ammo_boxes/magazine_boxes.dm +++ b/code/modules/projectiles/ammo_boxes/magazine_boxes.dm @@ -351,19 +351,19 @@ /obj/item/ammo_box/magazine/su6/empty empty = TRUE -//-----------------------88M4 Pistol Mag Box----------------------- +//-----------------------VP70 Pistol Mag Box----------------------- -/obj/item/ammo_box/magazine/mod88 - name = "\improper magazine box (88 Mod 4 x 16)" +/obj/item/ammo_box/magazine/vp70 + name = "\improper magazine box (VP70 x 16)" icon_state = "base_mod88" flags_equip_slot = SLOT_BACK overlay_ammo_type = "_reg" overlay_gun_type = "_mod88" overlay_content = "_reg" num_of_magazines = 16 - magazine_type = /obj/item/ammo_magazine/pistol/mod88 + magazine_type = /obj/item/ammo_magazine/pistol/vp70 -/obj/item/ammo_box/magazine/mod88/empty +/obj/item/ammo_box/magazine/vp70/empty empty = TRUE //-----------------------VP78 Pistol Mag Box----------------------- diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index 7dc0a56943..32a0850443 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -1443,7 +1443,7 @@ and you're good to go. if(projectile_to_fire.ammo.bonus_projectiles_amount) var/obj/projectile/BP for(var/i in 1 to projectile_to_fire.ammo.bonus_projectiles_amount) - BP = new /obj/projectile(attacked_mob.loc, create_cause_data(initial(name), user)) + BP = new /obj/projectile(null, create_cause_data(initial(name), user)) BP.generate_bullet(GLOB.ammo_list[projectile_to_fire.ammo.bonus_projectiles_type], 0, NO_FLAGS) BP.accuracy = round(BP.accuracy * projectile_to_fire.accuracy/initial(projectile_to_fire.accuracy)) //Modifies accuracy of pellets per fire_bonus_projectiles. BP.damage *= damage_buff diff --git a/code/modules/projectiles/gun_attachables.dm b/code/modules/projectiles/gun_attachables.dm index 6f972bdeb8..4941606a4b 100644 --- a/code/modules/projectiles/gun_attachables.dm +++ b/code/modules/projectiles/gun_attachables.dm @@ -1727,8 +1727,8 @@ Defined in conflicts.dm of the #defines folder. icon = 'icons/obj/items/weapons/guns/attachments/stock.dmi' /obj/item/attachable/stock/shotgun - name = "\improper M37 wooden stock" - desc = "A non-standard heavy wooden stock for the M37 Shotgun. More cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." + name = "\improper Ithaca 37 wooden stock" + desc = "A standard wooden stock for the Ithaca pump-action shotgun. More cumbersome than the standard issue stakeout, but reduces recoil and improves accuracy. Allegedly makes a pretty good club in a fight too." slot = "stock" icon_state = "stock" wield_delay_mod = WIELD_DELAY_FAST @@ -1824,8 +1824,8 @@ Defined in conflicts.dm of the #defines folder. // Doesn't give any stat additions due to the gun already having really good ones, and this is unremovable from the gun itself /obj/item/attachable/stock/tactical - name = "\improper MK221 tactical stock" - desc = "A metal stock made for the MK221 tactical shotgun." + name = "\improper M120 tactical stock" + desc = "A metal stock made for the M120 tactical shotgun." icon_state = "tactical_stock" hud_offset_mod = 6 @@ -1859,6 +1859,33 @@ Defined in conflicts.dm of the #defines folder. recoil_unwielded_mod = -RECOIL_AMOUNT_TIER_5 scatter_unwielded_mod = -SCATTER_AMOUNT_TIER_10 +/obj/item/attachable/stock/type23/wood + name = "\improper KS-29 wooden stock" + desc = "A standard heavy wooden stock for the KS-29 riot shotgun. Allegedly makes a pretty good club in a fight too." + slot = "stock" + icon_state = "type23_wood" + wield_delay_mod = WIELD_DELAY_FAST + pixel_shift_x = 32 + pixel_shift_y = 15 + hud_offset_mod = 6 //*Very* long sprite. + flags_attach_features = NO_FLAGS + +/obj/item/attachable/stock/type23/wood/New() + ..() + //it makes stuff much better when two-handed + accuracy_mod = HIT_ACCURACY_MULT_TIER_4 + recoil_mod = -RECOIL_AMOUNT_TIER_4 + scatter_mod = -SCATTER_AMOUNT_TIER_8 + movement_onehanded_acc_penalty_mod = -MOVEMENT_ACCURACY_PENALTY_MULT_TIER_5 + //it makes stuff much worse when one handed + accuracy_unwielded_mod = -HIT_ACCURACY_MULT_TIER_3 + recoil_unwielded_mod = RECOIL_AMOUNT_TIER_4 + scatter_unwielded_mod = SCATTER_AMOUNT_TIER_8 + //but at the same time you are slow when 2 handed + aim_speed_mod = CONFIG_GET(number/slowdown_med) + + matter = list("wood" = 2000) + /obj/item/attachable/stock/slavic name = "wooden stock" desc = "A non-standard heavy wooden stock for Slavic firearms." @@ -2107,9 +2134,9 @@ Defined in conflicts.dm of the #defines folder. flags_attach_features = NO_FLAGS hud_offset_mod = 2 -/obj/item/attachable/stock/mod88 - name = "\improper Mod 88 burst stock" - desc = "Increases the fire rate and burst amount on the Mod 88. Some versions act as a holster for the weapon when un-attached. This is a test item and should not be used in normal gameplay (yet)." +/obj/item/attachable/stock/vp70 + name = "\improper VP70 burst stock" + desc = "Increases the fire rate and burst amount on the VP70. Some versions act as a holster for the weapon when un-attached. This is a test item and should not be used in normal gameplay (yet)." icon_state = "mod88_stock" attach_icon = "mod88_stock_a" wield_delay_mod = WIELD_DELAY_FAST @@ -2118,7 +2145,7 @@ Defined in conflicts.dm of the #defines folder. size_mod = 2 melee_mod = 5 -/obj/item/attachable/stock/mod88/New() +/obj/item/attachable/stock/vp70/New() ..() //2h accuracy_mod = HIT_ACCURACY_MULT_TIER_3 @@ -2665,7 +2692,7 @@ Defined in conflicts.dm of the #defines folder. name = "U1 grenade launcher" desc = "A weapon-mounted, reloadable grenade launcher." icon_state = "grenade" - attach_icon = "grenade_a" + attach_icon = "grenade" w_class = SIZE_MEDIUM current_rounds = 0 max_rounds = 3 @@ -2834,12 +2861,22 @@ Defined in conflicts.dm of the #defines folder. current_rounds = 0 max_rounds = 5 max_range = 10 - attachment_firing_delay = 30 + attachment_firing_delay = 15 /obj/item/attachable/attached_gun/grenade/mk1/recon icon_state = "green_grenade-mk1" attach_icon = "green_grenade-mk1_a" +/obj/item/attachable/attached_gun/grenade/m120 + name = "\improper PN/c 30mm underslung grenade launcher" + desc = "Compact variant of the PN pump action underslung grenade launcher. Fits the M120 shotgun, three round tube, chambers one." + icon_state = "grenade-mk1" + attach_icon = "grenade-mk1_a" + current_rounds = 0 + max_rounds = 3 + max_range = 10 + attachment_firing_delay = 15 + /obj/item/attachable/attached_gun/grenade/m203 //M16 GL, only DD have it. name = "\improper M203 Grenade Launcher" desc = "An antique underbarrel grenade launcher. Adopted in 1969 for the M16, it was made obsolete centuries ago; how its ended up here is a mystery to you. Holds only one propriatary 40mm grenade, does not have modern IFF systems, it won't pass through your friends." diff --git a/code/modules/projectiles/guns/pistols.dm b/code/modules/projectiles/guns/pistols.dm index 9eed4553f1..d3fff0e05d 100644 --- a/code/modules/projectiles/guns/pistols.dm +++ b/code/modules/projectiles/guns/pistols.dm @@ -6,6 +6,7 @@ icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' reload_sound = 'sound/weapons/flipblade.ogg' cocked_sound = 'sound/weapons/gun_pistol_cocked.ogg' + empty_sound = 'sound/weapons/gun_empty.ogg' matter = list("metal" = 2000) flags_equip_slot = SLOT_WAIST @@ -48,12 +49,13 @@ /obj/item/weapon/gun/pistol/m4a3 name = "\improper M4A3 service pistol" - desc = "An M4A3 Service Pistol, once the standard issue sidearm of the Colonial Marines but has recently been replaced with the Weyland Yutani 88 Mod 4 combat pistol. Fires 9mm pistol rounds." + desc = "The recently replaced semi-automatic 9mm service pistol of the USCM. It remains popular among marines due to its light trigger and familiarity." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m4a3" item_state = "m4a3" + fire_sound = "vp70" current_mag = /obj/item/ammo_magazine/pistol - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/suppressor, /obj/item/attachable/reddot, @@ -87,7 +89,7 @@ /obj/item/weapon/gun/pistol/m4a3/custom name = "\improper M4A3 custom pistol" - desc = "This M4A3 sports a nickel finish and faux ivory grips. This one is a slightly customized variant produced by a well known gunsmith on Gateway Station. These are commonly purchased by low level enlisted men and junior officers who have nothing better to spend their salary on. Chambered in 9mm." + desc = "Sporting a nickel finish and possibly faux ivory grips, this 9mm pistol has been customized by a well known gunsmith on Gateway Station. It offers no tactical advantages." icon_state = "m4a3c" item_state = "m4a3c" @@ -102,37 +104,89 @@ damage_mult = BASE_BULLET_DAMAGE_MULT +//VP70 - Counterpart to M1911, offers burst and capacity ine exchange of low accuracy and damage. + +/obj/item/weapon/gun/pistol/vp70 + name = "\improper VP70 M5 service pistol" + desc = "Standard issue semi-automatic USCM service pistol. Recently replacing the M4A3, it retains its predecessor's 9mm chambering but offers both a higher magazine capacity and a 3-round burst selector." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' + icon_state = "vp70" + item_state = "vp70" + fire_sound = "vp70" + firesound_volume = 20 + reload_sound = 'sound/weapons/gun_vp70_reload.ogg' + unload_sound = 'sound/weapons/gun_vp70_unload.ogg' + current_mag = /obj/item/ammo_magazine/pistol/vp70 + force = 8 + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED + attachable_allowed = list( + /obj/item/attachable/suppressor, + /obj/item/attachable/extended_barrel, + /obj/item/attachable/heavy_barrel, + /obj/item/attachable/compensator, + /obj/item/attachable/flashlight, + /obj/item/attachable/reflex, + /obj/item/attachable/reddot, + /obj/item/attachable/burstfire_assembly, + /obj/item/attachable/lasersight, + /obj/item/attachable/flashlight/grip, + /obj/item/attachable/magnetic_harness, + /obj/item/attachable/stock/vp70, + ) + +/obj/item/weapon/gun/pistol/vp70/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 27, "muzzle_y" = 21,"rail_x" = 8, "rail_y" = 22, "under_x" = 21, "under_y" = 18, "stock_x" = 18, "stock_y" = 15) + + +/obj/item/weapon/gun/pistol/vp70/set_gun_config_values() + ..() + set_fire_delay(FIRE_DELAY_TIER_11) + set_burst_amount(BURST_AMOUNT_TIER_3) + set_burst_delay(FIRE_DELAY_TIER_11) + accuracy_mult = BASE_ACCURACY_MULT + accuracy_mult_unwielded = BASE_ACCURACY_MULT + scatter = SCATTER_AMOUNT_TIER_7 + burst_scatter_mult = SCATTER_AMOUNT_TIER_7 + scatter_unwielded = SCATTER_AMOUNT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT + + +/obj/item/weapon/gun/pistol/vp70/training + current_mag = /obj/item/ammo_magazine/pistol/vp70/rubber + + +/obj/item/weapon/gun/pistol/vp70/flashlight/handle_starting_attachment() + ..() + var/obj/item/attachable/flashlight/flashlight = new(src) + flashlight.Attach(src) + update_attachable(flashlight.slot) + //------------------------------------------------------- -//M4A3 45 //Inspired by the 1911 -//deprecated /obj/item/weapon/gun/pistol/m1911 - name = "\improper M1911 service pistol" - desc = "A timeless classic since the first World War. Once standard issue for the USCM, now back order only. Chambered in .45 ACP. Unfortunately, due to the progression of IFF technology, M1911 .45 ACP is NOT compatible with the SU-6." + name = "\improper M1911 pistol" + desc = "Despite never being an official service pistol of the USCM, its .45 ACP chambering and cultural connection to the Corps's predecessor keeps it a popular pistol, enough so that a large quantity are kept on backorder." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m4a345" item_state = "m4a3" - + fire_sound = 'sound/weapons/gun_vp78_v2.ogg' current_mag = /obj/item/ammo_magazine/pistol/m1911 - /obj/item/weapon/gun/pistol/m1911/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 22, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) - /obj/item/weapon/gun/pistol/m1911/set_gun_config_values() ..() set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 - burst_scatter_mult = SCATTER_AMOUNT_TIER_6 - scatter_unwielded = SCATTER_AMOUNT_TIER_6 + scatter_unwielded = SCATTER_AMOUNT_TIER_4 damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 - + recoil_unwielded = RECOIL_AMOUNT_TIER_4 /obj/item/weapon/gun/pistol/m1911/socom - name = "\improper M48A4 service pistol" + name = "\improper M48A4 pistol" desc = "A timeless classic since the first World War, the M1911A1 has limited use with the USCM, and is often used as a sidearm by non-governmental bodies due to its reliability. This is a modernized version with an ammo counter and a polymer grip, designated M48A4. Chambered in .45 ACP." icon_state = "m4a345_s" item_state = "m4a3" @@ -146,116 +200,83 @@ scatter = SCATTER_AMOUNT_TIER_8 burst_scatter_mult = SCATTER_AMOUNT_TIER_6 scatter_unwielded = SCATTER_AMOUNT_TIER_6 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 /obj/item/weapon/gun/pistol/m1911/socom/equipped starting_attachment_types = list(/obj/item/attachable/suppressor, /obj/item/attachable/lasersight, /obj/item/attachable/reflex) -//------------------------------------------------------- -//Beretta 92FS, the gun McClane carries around in Die Hard. Very similar to the service pistol, all around. - -/obj/item/weapon/gun/pistol/b92fs - name = "\improper Beretta 92FS pistol" - desc = "A popular police firearm in the 20th century, often employed by hardboiled cops while confronting terrorists. A classic of its time, chambered in 9mm." - icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' - icon_state = "b92fs" - item_state = "b92fs" - current_mag = /obj/item/ammo_magazine/pistol/b92fs - -/obj/item/weapon/gun/pistol/b92fs/Initialize(mapload, spawn_empty) - . = ..() - if(prob(10)) - name = "\improper Beretta 93FR burst pistol" - desc += " This specific pistol is a burst-fire, limited availability, police-issue 93FR type Beretta. Not too accurate, aftermarket modififcations are recommended." - var/obj/item/attachable/burstfire_assembly/BFA = new(src) - BFA.flags_attach_features &= ~ATTACH_REMOVABLE - BFA.Attach(src) - update_attachable(BFA.slot) - add_firemode(GUN_FIREMODE_BURSTFIRE) - -/obj/item/weapon/gun/pistol/b92fs/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 22, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) - -/obj/item/weapon/gun/pistol/b92fs/set_gun_config_values() - ..() - set_fire_delay(FIRE_DELAY_TIER_12) - accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 - accuracy_mult_unwielded = BASE_ACCURACY_MULT - scatter = SCATTER_AMOUNT_TIER_7 - burst_scatter_mult = SCATTER_AMOUNT_TIER_5 - scatter_unwielded = SCATTER_AMOUNT_TIER_7 - damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 - - -//------------------------------------------------------- -//DEAGLE //This one is obvious. +//.45 MARSHALS PISTOL //Inspired by the Browning Hipower +// rebalanced - singlefire, very strong bullets but slow to fire and heavy recoil +// redesigned - now rejected USCM sidearm model, utilized by Colonial Marshals and other stray groups. -/obj/item/weapon/gun/pistol/heavy - name = "vintage Desert Eagle" - desc = "A bulky 50 caliber pistol with a serious kick, probably taken from some museum somewhere. This one is engraved, 'Peace through superior firepower.'" +/obj/item/weapon/gun/pistol/highpower + name = "\improper HG 45 'Aguila' pistol" + desc = "A semi-automatic Henjin-Garcia design chambered in .45 ACP that is slowly replacing the Office of the Colonial Marshals's Spearhead revolver." icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' - icon_state = "deagle" - item_state = "deagle" - fire_sound = 'sound/weapons/gun_DE50.ogg' - firesound_volume = 40 - current_mag = /obj/item/ammo_magazine/pistol/heavy - force = 13 - + icon_state = "highpower" + item_state = "highpower" + fire_sound = 'sound/weapons/gun_vp78_v2.ogg' + current_mag = /obj/item/ammo_magazine/pistol/highpower + force = 15 attachable_allowed = list( - /obj/item/attachable/reddot, - /obj/item/attachable/reflex, - /obj/item/attachable/flashlight, + /obj/item/attachable/suppressor, // Barrel + /obj/item/attachable/bayonet, + /obj/item/attachable/bayonet/upp_replica, + /obj/item/attachable/bayonet/upp, /obj/item/attachable/extended_barrel, /obj/item/attachable/heavy_barrel, - /obj/item/attachable/lasersight, /obj/item/attachable/compensator, + /obj/item/attachable/reddot, // Rail + /obj/item/attachable/reflex, + /obj/item/attachable/flashlight, + /obj/item/attachable/magnetic_harness, + /obj/item/attachable/scope, + /obj/item/attachable/scope/mini, + /obj/item/attachable/gyro, // Under + /obj/item/attachable/lasersight, + /obj/item/attachable/burstfire_assembly, ) +/obj/item/weapon/gun/pistol/highpower/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 29, "muzzle_y" = 20,"rail_x" = 6, "rail_y" = 22, "under_x" = 20, "under_y" = 15, "stock_x" = 0, "stock_y" = 0) -/obj/item/weapon/gun/pistol/heavy/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 20,"rail_x" = 17, "rail_y" = 21, "under_x" = 20, "under_y" = 17, "stock_x" = 20, "stock_y" = 17) - - -/obj/item/weapon/gun/pistol/heavy/set_gun_config_values() +/obj/item/weapon/gun/pistol/highpower/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_5) - set_burst_amount(BURST_AMOUNT_TIER_2) - set_burst_delay(FIRE_DELAY_TIER_8) - accuracy_mult = BASE_ACCURACY_MULT - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 + set_fire_delay(FIRE_DELAY_TIER_7) + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_6 - burst_scatter_mult = SCATTER_AMOUNT_TIER_6 - scatter_unwielded = SCATTER_AMOUNT_TIER_6 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_1 - recoil = RECOIL_AMOUNT_TIER_5 - recoil_unwielded = RECOIL_AMOUNT_TIER_3 + scatter_unwielded = SCATTER_AMOUNT_TIER_4 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 + recoil_unwielded = RECOIL_AMOUNT_TIER_4 -/obj/item/weapon/gun/pistol/heavy/co - name = "polished vintage Desert Eagle" - desc = "The handcannon that needs no introduction, the .50-caliber Desert Eagle is expensive, unwieldy, and extremely heavy for a pistol. However, it makes up for it with its powerful shots capable of stopping a bear dead in its tracks. Iconic, glamorous, and above all, extremely deadly." - icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' - icon_state = "c_deagle" - item_state = "c_deagle" - current_mag = /obj/item/ammo_magazine/pistol/heavy/super/highimpact - black_market_value = 100 +/obj/item/weapon/gun/pistol/highpower/black + name = "\improper HG 45 'Marina' pistol" + current_mag = /obj/item/ammo_magazine/pistol/highpower/black + icon_state = "highpower_b" + item_state = "highpower_b" + desc = "A semi-automatic Henjin-Garcia design chambered in .45 ACP that is slowly replacing the Office of the Colonial Marshals's Spearhead revolver. Unlike its more common siblings, this variant was marketed and successfully sold in small quantities to the USCM." -/obj/item/weapon/gun/pistol/heavy/co/set_gun_config_values() +/obj/item/weapon/gun/pistol/highpower/automag + name = "\improper HG 44 'Automag' pistol" + desc = "A semi-automatic Henjin-Garcia design chambered in .44 Magnum that was largely discontinued in favour of the HG 45 configuration chambered in .45 ACP." + current_mag = /obj/item/ammo_magazine/pistol/highpower/automag + icon_state = "highpower_tac" + item_state = "highpower_tac" + fire_sound = 'sound/weapons/gun_kt42.ogg' + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED + +/obj/item/weapon/gun/pistol/highpower/automag/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_5) - accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 - scatter = SCATTER_AMOUNT_TIER_6 - burst_scatter_mult = SCATTER_AMOUNT_TIER_4 - scatter_unwielded = SCATTER_AMOUNT_TIER_3 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8 - recoil = RECOIL_AMOUNT_TIER_3 - recoil_unwielded = RECOIL_AMOUNT_TIER_2 + set_fire_delay(FIRE_DELAY_TIER_6) + recoil = RECOIL_AMOUNT_TIER_5 + recoil_unwielded = RECOIL_AMOUNT_TIER_3 -/obj/item/weapon/gun/pistol/heavy/co/gold - name = "golden vintage Desert Eagle" - desc = "A Desert Eagle anodized in gold and adorned with rosewood grips. The living definition of ostentatious, it's flashy, unwieldy, tremendously heavy, and kicks like a mule. But as a symbol of power, there's nothing like it." - icon_state = "g_deagle" - item_state = "g_deagle" +/obj/item/weapon/gun/pistol/highpower/automag/tactical + name = "\improper HG 44 'Automag' pistol" + desc = "A semi-automatic Henjin-Garcia design chambered in .44 Magnum that was largely discontinued in favour of the HG 45 configuration chambered in .45 ACP." + starting_attachment_types = list(/obj/item/attachable/suppressor, /obj/item/attachable/lasersight, /obj/item/attachable/reflex) + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED //------------------------------------------------------- //NP92 pistol @@ -263,13 +284,13 @@ /obj/item/weapon/gun/pistol/np92 name = "\improper NP92 pistol" - desc = "The standard issue sidearm of the UPP. The NP92 is a small but powerful sidearm, well-liked by most it is issued to, although some prefer the weapon it was meant to replace, the Type 73. Takes 12 round magazines." + desc = "The standard issue sidearm of the UPP. Chambered in 9x18mm Makarov, The NP92 is a small versatile pistol." icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' icon_state = "np92" item_state = "np92" - fire_sound = "88m4" + fire_sound = "vp70" current_mag = /obj/item/ammo_magazine/pistol/np92 - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/suppressor, /obj/item/attachable/reddot, @@ -299,7 +320,7 @@ inherent_traits = list(TRAIT_GUN_SILENCED) fire_sound = "gun_silenced" current_mag = /obj/item/ammo_magazine/pistol/np92/suppressed - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/reddot, /obj/item/attachable/reflex, @@ -315,13 +336,14 @@ /obj/item/weapon/gun/pistol/t73 name = "\improper Type 73 pistol" - desc = "The Type 73 is the once-standard issue sidearm of the UPP. Replaced by the NP92 in UPP use, it remains popular with veteran UPP troops due to familiarity and extra power. Due to an extremely large amount being produced, they tend to end up in the hands of forces attempting to arm themselves on a budget. Users include the Union of Progressive Peoples, Colonial Liberation Front, and just about any mercenary or pirate group out there." + desc = "Once the standard issue sidearm of the UPP it has since been replaced by the smaller NP92. Chambered with 7.62x25mm Tokarev, it remains popular with veterans due to its extra firepower." icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' icon_state = "tt" item_state = "tt" - fire_sound = 'sound/weapons/gun_tt.ogg' + fire_sound = 'sound/weapons/gun_vp78_v2.ogg' +// fire_sound = 'sound/weapons/gun_tt.ogg' current_mag = /obj/item/ammo_magazine/pistol/t73 - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/reddot, /obj/item/attachable/reflex, @@ -351,7 +373,7 @@ icon_state = "ttb" item_state = "ttb" current_mag = /obj/item/ammo_magazine/pistol/t73_impact - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED accepted_ammo = list( /obj/item/ammo_magazine/pistol/t73, /obj/item/ammo_magazine/pistol/t73_impact, @@ -410,7 +432,6 @@ //------------------------------------------------------- -//PIZZACHIMP PROTECTION /obj/item/weapon/gun/pistol/holdout name = "holdout pistol" @@ -454,20 +475,17 @@ //------------------------------------------------------- //CLF HOLDOUT PISTOL /obj/item/weapon/gun/pistol/clfpistol - name = "D18 Hummingbird Pistol" - desc = "The D18 Hummingbird Pistol was produced in the mid-2170s as a cheap and concealable firearm for CLF Sleeper Cell agents for assassinations and ambushes, and is able to be concealed in shoes and workboots." + name = "Hummingbird pistol" + desc = "Chambering .50 AE catridges this gun is as compact as it could possibly be. Rumored to be designed and produced by the UPP before being distributed into UA space for arming sleeper cells with throwaway weapons capable of penetrating standard M3 pattern armor." icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' icon_state = "m43" item_state = "m43" - flags_gun_features = GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED + flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED fire_sound = 'sound/weapons/gun_m43.ogg' current_mag = /obj/item/ammo_magazine/pistol/clfpistol w_class = SIZE_TINY force = 5 - attachable_allowed = list( - /obj/item/attachable/suppressor, - /obj/item/attachable/flashlight, - ) + attachable_allowed = null /obj/item/weapon/gun/pistol/clfpistol/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 21, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) @@ -481,163 +499,12 @@ burst_scatter_mult = SCATTER_AMOUNT_TIER_5 scatter_unwielded = SCATTER_AMOUNT_TIER_8 scatter = SCATTER_AMOUNT_TIER_9 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_4 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_10 + recoil = RECOIL_AMOUNT_TIER_2 + recoil_unwielded = RECOIL_AMOUNT_TIER_1 //------------------------------------------------------- -//.45 MARSHALS PISTOL //Inspired by the Browning Hipower -// rebalanced - singlefire, very strong bullets but slow to fire and heavy recoil -// redesigned - now rejected USCM sidearm model, utilized by Colonial Marshals and other stray groups. - -/obj/item/weapon/gun/pistol/highpower - name = "\improper MK-45 'High-Power' Automagnum" - desc = "Originally designed as a replacement for the USCM's M44 combat revolver, it was rejected at the last minute by a committee, citing its need to be cocked after every loaded magazine to be too cumbersone and antiquated. The design has recently been purchased by the Henjin-Garcia company, refitted for .45 ACP, and sold to the Colonial Marshals and other various unscrupulous armed groups." - icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' - icon_state = "highpower" - item_state = "highpower" - fire_sound = 'sound/weapons/gun_kt42.ogg' - current_mag = /obj/item/ammo_magazine/pistol/highpower - force = 15 - attachable_allowed = list( - /obj/item/attachable/suppressor, // Barrel - /obj/item/attachable/bayonet, - /obj/item/attachable/bayonet/upp_replica, - /obj/item/attachable/bayonet/upp, - /obj/item/attachable/extended_barrel, - /obj/item/attachable/heavy_barrel, - /obj/item/attachable/compensator, - /obj/item/attachable/reddot, // Rail - /obj/item/attachable/reflex, - /obj/item/attachable/flashlight, - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/scope, - /obj/item/attachable/scope/mini, - /obj/item/attachable/gyro, // Under - /obj/item/attachable/lasersight, - /obj/item/attachable/burstfire_assembly, - ) - /// This weapon needs to be manually racked every time a new magazine is loaded. I tried and failed to touch gun shitcode so this will do. - var/manually_slided = FALSE - -/obj/item/weapon/gun/pistol/highpower/Initialize(mapload, spawn_empty) - . = ..() - manually_slided = TRUE - -/obj/item/weapon/gun/pistol/highpower/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) - if(!manually_slided) - click_empty() - to_chat(user, SPAN_DANGER("\The [src] makes a clicking noise! You need to manually rack the slide after loading in a new magazine!")) - return NONE - return ..() - -/obj/item/weapon/gun/pistol/highpower/unique_action(mob/user) - if(!manually_slided) - user.visible_message(SPAN_NOTICE("[user] racks \the [src]'s slide."), SPAN_NOTICE("You rack \the [src]'s slide, loading the next bullet in.")) - manually_slided = TRUE - cock_gun(user, TRUE) - return - ..() - -/obj/item/weapon/gun/pistol/highpower/cock_gun(mob/user, manual = FALSE) - if(manual) - ..() - else return - -/obj/item/weapon/gun/pistol/highpower/reload(mob/user, obj/item/ammo_magazine/magazine) - //reset every time its reloaded - manually_slided = FALSE - ..() - -/obj/item/weapon/gun/pistol/highpower/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 29, "muzzle_y" = 20,"rail_x" = 6, "rail_y" = 22, "under_x" = 20, "under_y" = 15, "stock_x" = 0, "stock_y" = 0) - -/obj/item/weapon/gun/pistol/highpower/set_gun_config_values() - ..() - set_fire_delay(FIRE_DELAY_TIER_5) - accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_3 - scatter = SCATTER_AMOUNT_TIER_6 - scatter_unwielded = SCATTER_AMOUNT_TIER_4 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8 - recoil = RECOIL_AMOUNT_TIER_4 - recoil_unwielded = RECOIL_AMOUNT_TIER_4 -//also comes in.... BLAPCK -//the parent has a blueish tint, making it look best for civilian usage (colonies, marshals). this one has a black tint on its metal, making it best for military groups like VAIPO, elite mercs, etc. -// black tinted magazines also included -/obj/item/weapon/gun/pistol/highpower/black - current_mag = /obj/item/ammo_magazine/pistol/highpower/black - icon_state = "highpower_b" - item_state = "highpower_b" - -//unimplemented -/obj/item/weapon/gun/pistol/highpower/tactical - name = "\improper MK-44 SOCOM Automagnum" - desc = "Originally designed as a replacement for the USCM's M44 combat revolver, it was rejected at the last minute by a committee, citing its need to be cocked after every loaded magazine to be too cumbersone and antiquated. The design has recently been purchased by the Henjin-Garcia company and sold to the Colonial Marshals and other various unscrupulous armed groups. This one has a sleek, dark design." - current_mag = /obj/item/ammo_magazine/pistol/highpower/black - icon_state = "highpower_tac" - item_state = "highpower_tac" - starting_attachment_types = list(/obj/item/attachable/suppressor, /obj/item/attachable/lasersight, /obj/item/attachable/reflex) - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER - -//------------------------------------------------------- -//mod88 based off VP70 - Counterpart to M1911, offers burst and capacity ine exchange of low accuracy and damage. - -/obj/item/weapon/gun/pistol/mod88 - name = "\improper 88 Mod 4 combat pistol" - desc = "Standard issue USCM firearm. Also found in the hands of Weyland-Yutani PMC teams. Fires 9mm armor shredding rounds and is capable of 3-round burst." - icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' - icon_state = "_88m4" // to comply with css standards - item_state = "_88m4" - fire_sound = "88m4" - firesound_volume = 20 - reload_sound = 'sound/weapons/gun_88m4_reload.ogg' - unload_sound = 'sound/weapons/gun_88m4_unload.ogg' - current_mag = /obj/item/ammo_magazine/pistol/mod88/normalpoint - force = 8 - flags_gun_features = GUN_AUTO_EJECTOR|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER - attachable_allowed = list( - /obj/item/attachable/suppressor, - /obj/item/attachable/extended_barrel, - /obj/item/attachable/heavy_barrel, - /obj/item/attachable/compensator, - /obj/item/attachable/flashlight, - /obj/item/attachable/reflex, - /obj/item/attachable/reddot, - /obj/item/attachable/burstfire_assembly, - /obj/item/attachable/lasersight, - /obj/item/attachable/flashlight/grip, - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/stock/mod88, - ) - -/obj/item/weapon/gun/pistol/mod88/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 27, "muzzle_y" = 21,"rail_x" = 8, "rail_y" = 22, "under_x" = 21, "under_y" = 18, "stock_x" = 18, "stock_y" = 15) - - -/obj/item/weapon/gun/pistol/mod88/set_gun_config_values() - ..() - set_fire_delay(FIRE_DELAY_TIER_11) - set_burst_amount(BURST_AMOUNT_TIER_3) - set_burst_delay(FIRE_DELAY_TIER_11) - accuracy_mult = BASE_ACCURACY_MULT - accuracy_mult_unwielded = BASE_ACCURACY_MULT - scatter = SCATTER_AMOUNT_TIER_7 - burst_scatter_mult = SCATTER_AMOUNT_TIER_7 - scatter_unwielded = SCATTER_AMOUNT_TIER_7 - damage_mult = BASE_BULLET_DAMAGE_MULT - - -/obj/item/weapon/gun/pistol/mod88/training - current_mag = /obj/item/ammo_magazine/pistol/mod88/rubber - - -/obj/item/weapon/gun/pistol/mod88/flashlight/handle_starting_attachment() - ..() - var/obj/item/attachable/flashlight/flashlight = new(src) - flashlight.Attach(src) - update_attachable(flashlight.slot) - -//------------------------------------------------------- // ES-4 - Basically a CL-exclusive reskin of the 88 mod 4 that only uses less-lethal ammo. /obj/item/weapon/gun/pistol/es4 @@ -648,8 +515,8 @@ item_state = "es4" fire_sound = 'sound/weapons/gun_es4.ogg' firesound_volume = 20 - reload_sound = 'sound/weapons/gun_88m4_reload.ogg' - unload_sound = 'sound/weapons/gun_88m4_unload.ogg' + reload_sound = 'sound/weapons/gun_vp70_reload.ogg' + unload_sound = 'sound/weapons/gun_vp70_unload.ogg' current_mag = /obj/item/ammo_magazine/pistol/es4 force = 8 muzzle_flash = "muzzle_flash_blue" @@ -683,7 +550,6 @@ icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "vp78" item_state = "vp78" - fire_sound = 'sound/weapons/gun_vp78_v2.ogg' reload_sound = 'sound/weapons/gun_vp78_reload.ogg' unload_sound = 'sound/weapons/gun_vp78_unload.ogg' @@ -760,6 +626,113 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe recoil_unwielded = RECOIL_AMOUNT_TIER_3 +//------------------------------------------------------- +//Beretta 92FS, the gun McClane carries around in Die Hard. Very similar to the service pistol, all around. + +/obj/item/weapon/gun/pistol/b92fs + name = "\improper Beretta 92FS pistol" + desc = "A popular police firearm in the 20th century, often employed by hardboiled cops while confronting terrorists. A classic of its time, chambered in 9mm." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' + icon_state = "b92fs" + item_state = "b92fs" + current_mag = /obj/item/ammo_magazine/pistol/b92fs + +/obj/item/weapon/gun/pistol/b92fs/Initialize(mapload, spawn_empty) + . = ..() + if(prob(10)) + name = "\improper Beretta 93FR burst pistol" + desc += " This specific pistol is a burst-fire, limited availability, police-issue 93FR type Beretta. Not too accurate, aftermarket modififcations are recommended." + var/obj/item/attachable/burstfire_assembly/BFA = new(src) + BFA.flags_attach_features &= ~ATTACH_REMOVABLE + BFA.Attach(src) + update_attachable(BFA.slot) + add_firemode(GUN_FIREMODE_BURSTFIRE) + +/obj/item/weapon/gun/pistol/b92fs/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 28, "muzzle_y" = 20,"rail_x" = 10, "rail_y" = 22, "under_x" = 21, "under_y" = 17, "stock_x" = 21, "stock_y" = 17) + +/obj/item/weapon/gun/pistol/b92fs/set_gun_config_values() + ..() + set_fire_delay(FIRE_DELAY_TIER_12) + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_5 + accuracy_mult_unwielded = BASE_ACCURACY_MULT + scatter = SCATTER_AMOUNT_TIER_7 + burst_scatter_mult = SCATTER_AMOUNT_TIER_5 + scatter_unwielded = SCATTER_AMOUNT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 + + +//------------------------------------------------------- +//DEAGLE //This one is obvious. + +/obj/item/weapon/gun/pistol/heavy + name = "vintage Desert Eagle" + desc = "A bulky 50 caliber pistol with a serious kick, probably taken from some museum somewhere. This one is engraved, 'Peace through superior firepower.'" + icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' + icon_state = "deagle" + item_state = "deagle" + fire_sound = 'sound/weapons/gun_DE50.ogg' + firesound_volume = 40 + current_mag = /obj/item/ammo_magazine/pistol/heavy + force = 13 + + attachable_allowed = list( + /obj/item/attachable/reddot, + /obj/item/attachable/reflex, + /obj/item/attachable/flashlight, + /obj/item/attachable/extended_barrel, + /obj/item/attachable/heavy_barrel, + /obj/item/attachable/lasersight, + /obj/item/attachable/compensator, + ) + + +/obj/item/weapon/gun/pistol/heavy/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 30, "muzzle_y" = 20,"rail_x" = 17, "rail_y" = 21, "under_x" = 20, "under_y" = 17, "stock_x" = 20, "stock_y" = 17) + + +/obj/item/weapon/gun/pistol/heavy/set_gun_config_values() + ..() + set_fire_delay(FIRE_DELAY_TIER_5) + set_burst_amount(BURST_AMOUNT_TIER_2) + set_burst_delay(FIRE_DELAY_TIER_8) + accuracy_mult = BASE_ACCURACY_MULT + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_5 + scatter = SCATTER_AMOUNT_TIER_6 + burst_scatter_mult = SCATTER_AMOUNT_TIER_6 + scatter_unwielded = SCATTER_AMOUNT_TIER_6 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_1 + recoil = RECOIL_AMOUNT_TIER_5 + recoil_unwielded = RECOIL_AMOUNT_TIER_3 + +/obj/item/weapon/gun/pistol/heavy/co + name = "polished vintage Desert Eagle" + desc = "The handcannon that needs no introduction, the .50-caliber Desert Eagle is expensive, unwieldy, and extremely heavy for a pistol. However, it makes up for it with its powerful shots capable of stopping a bear dead in its tracks. Iconic, glamorous, and above all, extremely deadly." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' + icon_state = "c_deagle" + item_state = "c_deagle" + base_gun_icon = "c_deagle" + current_mag = /obj/item/ammo_magazine/pistol/heavy/super/highimpact + black_market_value = 100 + +/obj/item/weapon/gun/pistol/heavy/co/set_gun_config_values() + ..() + set_fire_delay(FIRE_DELAY_TIER_5) + accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 + accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_7 + scatter = SCATTER_AMOUNT_TIER_6 + burst_scatter_mult = SCATTER_AMOUNT_TIER_4 + scatter_unwielded = SCATTER_AMOUNT_TIER_3 + damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_8 + recoil = RECOIL_AMOUNT_TIER_3 + recoil_unwielded = RECOIL_AMOUNT_TIER_2 + +/obj/item/weapon/gun/pistol/heavy/co/gold + name = "golden vintage Desert Eagle" + desc = "A Desert Eagle anodized in gold and adorned with rosewood grips. The living definition of ostentatious, it's flashy, unwieldy, tremendously heavy, and kicks like a mule. But as a symbol of power, there's nothing like it." + icon_state = "g_deagle" + item_state = "g_deagle" + base_gun_icon = "g_deagle" //------------------------------------------------------- //The first rule of monkey pistol is we don't talk about monkey pistol. diff --git a/code/modules/projectiles/guns/revolvers.dm b/code/modules/projectiles/guns/revolvers.dm index 76e3e07106..91e298cb25 100644 --- a/code/modules/projectiles/guns/revolvers.dm +++ b/code/modules/projectiles/guns/revolvers.dm @@ -293,14 +293,14 @@ icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m44r" item_state = "m44r" - + fire_sounds = list('sound/weapons/gun_cmb_1.ogg', 'sound/weapons/gun_cmb_2.ogg') cocked_sound = 'sound/weapons/gun_revolver_spun.ogg' unload_sound = 'sound/weapons/handling/pkd_open_chamber.ogg' chamber_close_sound = 'sound/weapons/handling/pkd_close_chamber.ogg' current_mag = /obj/item/ammo_magazine/internal/revolver/m44 force = 8 - flags_gun_features = GUN_INTERNAL_MAG|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED|GUN_AMMO_COUNTER + flags_gun_features = GUN_INTERNAL_MAG|GUN_CAN_POINTBLANK|GUN_ONE_HAND_WIELDED attachable_allowed = list( /obj/item/attachable/bayonet, /obj/item/attachable/bayonet/upp, @@ -405,7 +405,7 @@ name = "\improper PKL 'Double' Blaster" desc = "Sold to civilians and private corporations, the Pflager Katsumata Series-L Blaster is a premium double barrel sidearm that can fire two rounds at the same time. Usually found in the hands of combat synths and replicants, this hand cannon is worth more than the combined price of three Emanators. Originally commissioned by the Wallace Corporation, it has since been released onto public market as a luxury firearm." icon_state = "pkd_double" - item_state = "88m4" //placeholder + item_state = "vp70" //placeholder attachable_allowed = list( /obj/item/attachable/flashlight, @@ -699,18 +699,20 @@ //------------------------------------------------------- //MARSHALS REVOLVER //Spearhead exists in Alien cannon. -/obj/item/weapon/gun/revolver/cmb - name = "\improper CMB Spearhead autorevolver" - desc = "An automatic revolver chambered in .357, often loaded with hollowpoint on spaceships to prevent hull damage. Commonly issued to Colonial Marshals." +/obj/item/weapon/gun/revolver/spearhead + name = "\improper Spearhead Armoury revolver" + desc = "A sleek high-quality revolver designed by Spearhead Armoury chambered in .357 commonly issued to Colonial Marshals." icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' icon_state = "spearhead" item_state = "spearhead" fire_sound = null fire_sounds = list('sound/weapons/gun_cmb_1.ogg', 'sound/weapons/gun_cmb_2.ogg') fire_rattle = 'sound/weapons/gun_cmb_rattle.ogg' - cylinder_click = list('sound/weapons/handling/gun_cmb_click1.ogg', 'sound/weapons/handling/gun_cmb_click2.ogg') - current_mag = /obj/item/ammo_magazine/internal/revolver/cmb/hollowpoint - force = 12 + //cylinder_click = list('sound/weapons/handling/gun_cmb_click1.ogg', 'sound/weapons/handling/gun_cmb_click2.ogg') + unload_sound = 'sound/weapons/handling/pkd_open_chamber.ogg' + chamber_close_sound = 'sound/weapons/handling/pkd_close_chamber.ogg' + current_mag = /obj/item/ammo_magazine/internal/revolver/spearhead + force = 15 attachable_allowed = list( /obj/item/attachable/suppressor, // Muzzle /obj/item/attachable/extended_barrel, @@ -724,21 +726,21 @@ /obj/item/attachable/lasersight, ) -/obj/item/weapon/gun/revolver/cmb/click_empty(mob/user) +/obj/item/weapon/gun/revolver/spearhead/click_empty(mob/user) if(user) to_chat(user, SPAN_WARNING("*click*")) playsound(user, pick('sound/weapons/handling/gun_cmb_click1.ogg', 'sound/weapons/handling/gun_cmb_click2.ogg'), 25, 1, 5) //5 tile range else playsound(src, pick('sound/weapons/handling/gun_cmb_click1.ogg', 'sound/weapons/handling/gun_cmb_click2.ogg'), 25, 1, 5) -/obj/item/weapon/gun/revolver/cmb/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) +/obj/item/weapon/gun/revolver/spearhead/Fire(atom/target, mob/living/user, params, reflex = 0, dual_wield) playsound('sound/weapons/gun_cmb_bass.ogg') // badass shooting bass return ..() -/obj/item/weapon/gun/revolver/cmb/set_gun_attachment_offsets() +/obj/item/weapon/gun/revolver/spearhead/set_gun_attachment_offsets() attachable_offset = list("muzzle_x" = 29, "muzzle_y" = 22,"rail_x" = 11, "rail_y" = 25, "under_x" = 20, "under_y" = 18, "stock_x" = 20, "stock_y" = 18) -/obj/item/weapon/gun/revolver/cmb/set_gun_config_values() +/obj/item/weapon/gun/revolver/spearhead/set_gun_config_values() ..() set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_4 @@ -749,5 +751,12 @@ recoil = RECOIL_AMOUNT_TIER_5 recoil_unwielded = RECOIL_AMOUNT_TIER_3 -/obj/item/weapon/gun/revolver/cmb/normalpoint - current_mag = /obj/item/ammo_magazine/internal/revolver/cmb +/obj/item/weapon/gun/revolver/spearhead/hollowpoint + current_mag = /obj/item/ammo_magazine/internal/revolver/spearhead/hollowpoint + +/obj/item/weapon/gun/revolver/spearhead/black + name = "\improper Spearhead Armoury autorevolver" + desc = "A sleek high-quality revolver designed by Spearhead Armoury chambered in .357 commonly issued to Colonial Marshals, though this version has been customized with a black metal finish indicating it is unlikely to be a service weapon." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' + icon_state = "spearhead_black" + item_state = "spearhead_black" diff --git a/code/modules/projectiles/guns/shotguns.dm b/code/modules/projectiles/guns/shotguns.dm index a705861f98..6035aaf612 100644 --- a/code/modules/projectiles/guns/shotguns.dm +++ b/code/modules/projectiles/guns/shotguns.dm @@ -20,6 +20,7 @@ can cause issues with ammo types getting mixed up during the burst. has_empty_icon = FALSE has_open_icon = FALSE fire_delay_group = list(FIRE_DELAY_GROUP_SHOTGUN) + map_specific_decoration = FALSE var/gauge = "12g" /obj/item/weapon/gun/shotgun/Initialize(mapload, spawn_empty) @@ -153,7 +154,6 @@ can cause issues with ammo types getting mixed up during the burst. current_mag.chamber_position-- return in_chamber - /obj/item/weapon/gun/shotgun/ready_in_chamber() return ready_shotgun_tube() @@ -229,7 +229,7 @@ can cause issues with ammo types getting mixed up during the burst. scatter = SCATTER_AMOUNT_TIER_5 burst_scatter_mult = SCATTER_AMOUNT_TIER_3 scatter_unwielded = SCATTER_AMOUNT_TIER_1 - damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_2 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -237,15 +237,17 @@ can cause issues with ammo types getting mixed up during the burst. //TACTICAL SHOTGUN /obj/item/weapon/gun/shotgun/combat - name = "\improper MK221 tactical shotgun" - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate." + name = "\improper M120 tactical shotgun" + desc = "A successor to the Benelli M4 Super 90, the M120 tactical shotgun is in service with the USCM due its easy maneuverability in close quarters, 12 gauge chambering, high firerate and integrated U1 underslung grenade launcher. While not part of the standard doctrine, they are common none the less. The internal tube magazine stores 6 shells and the U1 grenade launcher stores three grenades." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "mk221" item_state = "mk221" fire_sound = "gun_shotgun_tactical" firesound_volume = 20 - current_mag = /obj/item/ammo_magazine/internal/shotgun + + flags_equip_slot = SLOT_BACK + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat attachable_allowed = list( /obj/item/attachable/bayonet, /obj/item/attachable/bayonet/upp, @@ -264,26 +266,12 @@ can cause issues with ammo types getting mixed up during the burst. if(current_mag && current_mag.current_rounds > 0) load_into_chamber() -/obj/item/weapon/gun/shotgun/combat/handle_starting_attachment() - ..() - var/obj/item/attachable/attached_gun/grenade/ugl = new(src) - var/obj/item/attachable/stock/tactical/stock = new(src) - ugl.flags_attach_features &= ~ATTACH_REMOVABLE - ugl.hidden = TRUE - ugl.Attach(src) - update_attachable(ugl.slot) - stock.hidden = FALSE - stock.Attach(src) - update_attachable(stock.slot) - /obj/item/weapon/gun/shotgun/combat/set_gun_attachment_offsets() - attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 21, "under_x" = 14, "under_y" = 16, "stock_x" = 11, "stock_y" = 13.) - - + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 10, "rail_y" = 21, "under_x" = 22, "under_y" = 14, "stock_x" = 11, "stock_y" = 13.) /obj/item/weapon/gun/shotgun/combat/set_gun_config_values() ..() - set_fire_delay(FIRE_DELAY_TIER_5*2) + set_fire_delay(FIRE_DELAY_TIER_9) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -292,7 +280,7 @@ can cause issues with ammo types getting mixed up during the burst. damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_4 recoil_unwielded = RECOIL_AMOUNT_TIER_2 - + starting_attachment_types = list(/obj/item/attachable/attached_gun/grenade/m120, /obj/item/attachable/stock/tactical) /obj/item/weapon/gun/shotgun/combat/get_examine_text(mob/user) . = ..() @@ -300,32 +288,31 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/combat/riot - name = "\improper MK221 riot shotgun" + name = "\improper M120/R tactical shotgun" icon_state = "mp220" item_state = "mp220" - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a steel blue finish to signify use in riot control. It has been modified to only fire 20G beanbags." + desc = "A successor to the Benelli M4 Super 90, the M120 tactical shotgun is in service with the USCM due its easy maneuverability in close quarters, 12 gauge chambering, high firerate and integrated U1 underslung grenade launcher. While not part of the standard doctrine, they are common none the less. This one comes with a blue steel finish to denote its function as a riot shotgun. The internal tube magazine stores 6 shells and the U1 grenade launcher stores three grenades." current_mag = /obj/item/ammo_magazine/internal/shotgun/combat/riot - gauge = "20g" /obj/item/weapon/gun/shotgun/combat/guard - desc = "The Weyland-Yutani MK221 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a red handle to signify its use with Military Police Honor Guards." + desc = "The Weyland-Yutani M120 Shotgun, a semi-automatic shotgun with a quick fire rate. Equipped with a red handle to signify its use with Military Police Honor Guards." icon_state = "mp221" item_state = "mp221" starting_attachment_types = list(/obj/item/attachable/magnetic_harness, /obj/item/attachable/bayonet) - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat /obj/item/weapon/gun/shotgun/combat/covert starting_attachment_types = list(/obj/item/attachable/magnetic_harness, /obj/item/attachable/extended_barrel) - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/combat //SOF MK210, an earlier developmental variant of the MK211 tactical used by USCM SOF. /obj/item/weapon/gun/shotgun/combat/marsoc name = "\improper XM38 tactical shotgun" - desc = "Way back in 2168, Wey-Yu began testing the MK221. The USCM picked up an early prototype, and later adopted it with a limited military contract. But the USCM Special Operations Forces wasn't satisfied, and iterated on the early prototypes they had access to; eventually, their internal armorers and tinkerers produced the MK210, designated XM38, a lightweight folding shotgun that snaps to the belt. And to boot, it's fully automatic, made of stamped medal, and keeps the UGL. Truly an engineering marvel." + desc = "An ARMAT design adopted for testing by the Marine Raiders due to it's compact size, high firerate and integrated magnetic harness system. You might think the size would leave its magazine tube wanting, but through engineering magic, the XM38 is capable of holding six shells with its internal tube magazine." icon_state = "mk210" item_state = "mk210" - current_mag = /obj/item/ammo_magazine/internal/shotgun/buckshot + current_mag = /obj/item/ammo_magazine/internal/shotgun/marsoc flags_equip_slot = SLOT_WAIST|SLOT_BACK flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG @@ -353,7 +340,7 @@ can cause issues with ammo types getting mixed up during the burst. ..() set_fire_delay(FIRE_DELAY_TIER_6) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 - HIT_ACCURACY_MULT_TIER_5 + accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 scatter = SCATTER_AMOUNT_TIER_6 burst_scatter_mult = SCATTER_AMOUNT_TIER_6 scatter_unwielded = SCATTER_AMOUNT_TIER_2 @@ -365,18 +352,19 @@ can cause issues with ammo types getting mixed up during the burst. //TYPE 23. SEMI-AUTO UPP SHOTGUN, BASED ON KS-23 /obj/item/weapon/gun/shotgun/type23 - name = "\improper Type 23 riot shotgun" - desc = "As UPP soldiers frequently reported being outmatched by enemy combatants, UPP High Command commissioned a large amount of Type 23 shotguns, originally used for quelling defector colony riots. This slow semi-automatic shotgun chambers 8 gauge, and packs a mean punch." + name = "\improper KS-29/4 combat shotgun" + desc = "A contemporary semi-automatic design based off of the KS-23, a Soviet-era pump-action riot shotgun chambered in 6 gauge shells. Updated for the UPP's Naval Infantry as a boarding gun, it was downgraded to 8 gauge chambering in order to make it more controllable without much loss to overall firepower and allow for easier storage of large quantities of shells on the individual user. Its internal tube magazine can store 4 shells." icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' - icon_state = "type23" - item_state = "type23" - fire_sound = 'sound/weapons/gun_type23.ogg' //not perfect, too small + icon_state = "type23_tactical" + item_state = "type23_tactical" + fire_sound = 'sound/weapons/gun_type23.ogg' current_mag = /obj/item/ammo_magazine/internal/shotgun/type23 attachable_allowed = list( /obj/item/attachable/reddot, // Rail /obj/item/attachable/reddot/upp, /obj/item/attachable/reflex, /obj/item/attachable/reflex/upp, + /obj/item/attachable/scope/upp, /obj/item/attachable/flashlight, /obj/item/attachable/magnetic_harness, /obj/item/attachable/bayonet, // Muzzle @@ -392,9 +380,8 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/burstfire_assembly, /obj/item/attachable/stock/type23, // Stock ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_INTERNAL_MAG + flags_gun_features = GUN_CAN_POINTBLANK|GUN_INTERNAL_MAG flags_equip_slot = SLOT_BACK - map_specific_decoration = FALSE gauge = "8g" starting_attachment_types = list(/obj/item/attachable/stock/type23) @@ -403,101 +390,26 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/type23/set_gun_config_values() ..() - set_fire_delay(2.5 SECONDS) + set_fire_delay(FIRE_DELAY_TIER_8) accuracy_mult = BASE_ACCURACY_MULT - accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 + accuracy_mult_unwielded = BASE_ACCURACY_MULT scatter = SCATTER_AMOUNT_TIER_4 scatter_unwielded = SCATTER_AMOUNT_TIER_1 damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_1 recoil_unwielded = RECOIL_AMOUNT_TIER_1 -/obj/item/weapon/gun/shotgun/type23/breacher - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/flashlight, - ) - random_muzzle_chance = 100 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - ) - random_under_chance = 40 - random_spawn_under = list( - /obj/item/attachable/verticalgrip/upp, - ) - -/obj/item/weapon/gun/shotgun/type23/breacher/slug - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/slug - -/obj/item/weapon/gun/shotgun/type23/breacher/flechette - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/flechette - -/obj/item/weapon/gun/shotgun/type23/dual - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - ) - random_muzzle_chance = 80 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - /obj/item/attachable/heavy_barrel, - ) - random_under_chance = 100 - random_spawn_under = list( - /obj/item/attachable/flashlight/grip, - /obj/item/attachable/verticalgrip/upp, - ) - -/obj/item/weapon/gun/shotgun/type23/dragon - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/dragonsbreath - random_spawn_chance = 100 - random_rail_chance = 100 - random_spawn_rail = list( - /obj/item/attachable/magnetic_harness, - ) - random_muzzle_chance = 70 - random_spawn_muzzle = list( - /obj/item/attachable/bayonet/upp, - /obj/item/attachable/heavy_barrel, - ) - random_under_chance = 100 - random_spawn_under = list( - /obj/item/attachable/attached_gun/extinguisher, - ) - -/obj/item/weapon/gun/shotgun/type23/riot_control - name = "\improper Type 23-R riot control shotgun" - desc = "This slow semi-automatic shotgun chambers 8 gauge, and packs a mean punch. The -R version is designed for UPP colony security personnel and handling colony rioting, sporting an integrated vertical grip but lacking in attachment choices." - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/beanbag - attachable_allowed = list( - /obj/item/attachable/reddot, //Rail - /obj/item/attachable/reddot/upp, - /obj/item/attachable/reflex, - /obj/item/attachable/reflex/upp, - /obj/item/attachable/flashlight, - /obj/item/attachable/magnetic_harness, - /obj/item/attachable/verticalgrip, //Underbarrel - /obj/item/attachable/verticalgrip/upp, - /obj/item/attachable/stock/type23, //Stock - ) - flags_gun_features = GUN_CAN_POINTBLANK|GUN_AMMO_COUNTER|GUN_INTERNAL_MAG - flags_equip_slot = SLOT_BACK - map_specific_decoration = FALSE - gauge = "8g" - starting_attachment_types = list(/obj/item/attachable/stock/type23) -/obj/item/weapon/gun/shotgun/type23/riot_control/handle_starting_attachment() - . = ..() - var/obj/item/attachable/verticalgrip/integrated_grip = new(src) - integrated_grip.flags_attach_features &= ~ATTACH_REMOVABLE - integrated_grip.Attach(src) - update_attachable(integrated_grip.slot) +/obj/item/weapon/gun/shotgun/type23/riot + name = "\improper KS-29 riot shotgun" + desc = "A contemporary semi-automatic design based off of the KS-23, a Soviet-era riot shotgun chambered in 6 gauge shells. Like its Naval Infantry sibling, it is downgraded to 8 gauge chambering in order to make it more controllable without much loss to overall firepower and allow for easier storage of large quantities of shells on the individual user. Its internal tube magazine can store 4 shells." + icon = 'icons/obj/items/weapons/guns/guns_by_faction/upp.dmi' + icon_state = "type23_wood" + item_state = "type23_wood" + starting_attachment_types = list(/obj/item/attachable/stock/type23/wood) -/obj/item/weapon/gun/shotgun/type23/pve - current_mag = /obj/item/ammo_magazine/internal/shotgun/type23/special +/obj/item/weapon/gun/shotgun/type23/riot/set_gun_attachment_offsets() + attachable_offset = list("muzzle_x" = 33, "muzzle_y" = 19,"rail_x" = 13, "rail_y" = 21, "under_x" = 24, "under_y" = 15, "stock_x" = 16, "stock_y" = 15) //------------------------------------------------------- //DOUBLE SHOTTY @@ -653,7 +565,7 @@ can cause issues with ammo types getting mixed up during the burst. accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_7 scatter_unwielded = SCATTER_AMOUNT_TIER_1 - damage_mult = BASE_BULLET_DAMAGE_MULT - BULLET_DAMAGE_MULT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -676,7 +588,7 @@ can cause issues with ammo types getting mixed up during the burst. scatter = SCATTER_AMOUNT_TIER_6 burst_scatter_mult = SCATTER_AMOUNT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_2 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_7 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_3 recoil_unwielded = RECOIL_AMOUNT_TIER_1 @@ -720,7 +632,7 @@ can cause issues with ammo types getting mixed up during the burst. set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult_unwielded = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_10 scatter_unwielded = SCATTER_AMOUNT_TIER_7 - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_5 + damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_2 recoil_unwielded = RECOIL_AMOUNT_TIER_3 @@ -793,7 +705,6 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/lasersight, /obj/item/attachable/stock/mou53, ) - map_specific_decoration = TRUE civilian_usable_override = FALSE /obj/item/weapon/gun/shotgun/double/mou53/set_gun_attachment_offsets() @@ -1076,8 +987,8 @@ can cause issues with ammo types getting mixed up during the burst. //Shotguns in this category will need to be pumped each shot. /obj/item/weapon/gun/shotgun/pump - name = "\improper M37A2 pump shotgun" - desc = "An Armat Battlefield Systems classic design, the M37A2 combines close-range firepower with long term reliability. Requires a pump, which is a Unique Action." + name = "Ithaca 37 pump-action shotgun" + desc = "A customized Ithaca 37 hunting shotgun. Its wooden stock has been replaced with a bakelite pistol grip, and its barrel and magazine tube have been cut down to half their lengths for easier handling in close quarters at the cost of magazine size, only fitting four shells and one chambered." icon = 'icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi' icon_state = "m37" item_state = "m37" @@ -1111,11 +1022,10 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/attached_gun/flamer/advanced, /obj/item/attachable/stock/shotgun, ) - map_specific_decoration = TRUE /obj/item/weapon/gun/shotgun/pump/Initialize(mapload, spawn_empty) . = ..() - pump_delay = FIRE_DELAY_TIER_5*2 + pump_delay = FIRE_DELAY_TIER_8 additional_fire_group_delay += pump_delay @@ -1126,7 +1036,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/set_gun_config_values() ..() set_burst_amount(BURST_AMOUNT_TIER_1) - set_fire_delay(FIRE_DELAY_TIER_7 * 4) + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -1135,7 +1045,7 @@ can cause issues with ammo types getting mixed up during the burst. damage_mult = BASE_BULLET_DAMAGE_MULT recoil = RECOIL_AMOUNT_TIER_4 recoil_unwielded = RECOIL_AMOUNT_TIER_2 - wield_delay = WIELD_DELAY_MIN + //wield_delay = WIELD_DELAY_MIN /obj/item/weapon/gun/shotgun/pump/unique_action(mob/user) pump_shotgun(user) @@ -1199,9 +1109,6 @@ can cause issues with ammo types getting mixed up during the burst. //------------------------------------------------------- -/obj/item/weapon/gun/shotgun/pump/special - current_mag = /obj/item/ammo_magazine/internal/shotgun/special - /obj/item/weapon/gun/shotgun/pump/dual_tube name = "generic dual-tube pump shotgun" desc = "A twenty-round pump action shotgun with dual internal tube magazines. You can switch the active internal magazine by toggling the shotgun tube." @@ -1252,7 +1159,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb name = "\improper HG 37-12 pump shotgun" - desc = "A eight-round pump action shotgun with four-round capacity dual internal tube magazines allowing for quick reloading and highly accurate fire. Used exclusively by Colonial Marshals. You can switch the active internal magazine by toggling the shotgun tube." + desc = "An eight-round pump action shotgun with four-round capacity dual internal tube magazines allowing for quick reloading and highly accurate fire. Standard issue shotgun of the Colonial Marshals Bureau. By toggling the shotgun tube, you can swap between the internal magazines." icon = 'icons/obj/items/weapons/guns/guns_by_faction/colony.dmi' icon_state = "hg3712" item_state = "hg3712" @@ -1270,7 +1177,6 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/attachable/attached_gun/flamer/advanced, ) starting_attachment_types = list(/obj/item/attachable/stock/hg3712) - map_specific_decoration = FALSE civilian_usable_override = TRUE // Come on. It's THE, er, other, survivor shotgun. @@ -1280,7 +1186,7 @@ can cause issues with ammo types getting mixed up during the burst. /obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/set_gun_config_values() ..() - set_fire_delay(1.6 SECONDS) + set_fire_delay(FIRE_DELAY_TIER_7) accuracy_mult = BASE_ACCURACY_MULT + HIT_ACCURACY_MULT_TIER_3 accuracy_mult_unwielded = BASE_ACCURACY_MULT - HIT_ACCURACY_MULT_TIER_10 scatter = SCATTER_AMOUNT_TIER_6 @@ -1299,8 +1205,4 @@ can cause issues with ammo types getting mixed up during the burst. current_mag = /obj/item/ammo_magazine/internal/shotgun/cmb/m3717 starting_attachment_types = list(/obj/item/attachable/stock/hg3712/m3717) -/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb/m3717/set_gun_config_values() - ..() - damage_mult = BASE_BULLET_DAMAGE_MULT + BULLET_DAMAGE_MULT_TIER_3 - //------------------------------------------------------- diff --git a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm index 0f767d679d..9148062d0c 100644 --- a/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm +++ b/code/modules/projectiles/guns/specialist/launcher/grenade_launcher.dm @@ -330,7 +330,7 @@ icon_state = "m79" item_state = "m79" flags_equip_slot = SLOT_BACK - preload = /obj/item/explosive/grenade/slug/baton + preload = null is_lobbing = TRUE actions_types = list(/datum/action/item_action/toggle_firing_level) diff --git a/code/modules/projectiles/magazines/pistols.dm b/code/modules/projectiles/magazines/pistols.dm index 3ae221fd42..ddcbefcb63 100644 --- a/code/modules/projectiles/magazines/pistols.dm +++ b/code/modules/projectiles/magazines/pistols.dm @@ -60,48 +60,52 @@ //------------------------------------------------------- -//88M4 based off VP70 +//vp70 based off VP70 -/obj/item/ammo_magazine/pistol/mod88 - name = "\improper 88M4 AP magazine (9mm)" - default_ammo = /datum/ammo/bullet/pistol/ap - caliber = "9mm" - icon_state = "88m4" - max_rounds = 19 - gun_type = /obj/item/weapon/gun/pistol/mod88 - ammo_band_icon = "+88m4_band" - ammo_band_icon_empty = "+88m4_band_e" - ammo_band_color = AMMO_BAND_COLOR_AP -/obj/item/ammo_magazine/pistol/mod88/normalpoint // Unused - name = "\improper 88M4 magazine (9mm)" +/obj/item/ammo_magazine/pistol/vp70 + name = "\improper VP70 Magazine (9mm)" default_ammo = /datum/ammo/bullet/pistol caliber = "9mm" + icon_state = "vp70" + max_rounds = 19 + gun_type = /obj/item/weapon/gun/pistol/vp70 + ammo_band_icon = "+vp70_band" + ammo_band_icon_empty = "+vp70_band_e" ammo_band_color = null -/obj/item/ammo_magazine/pistol/mod88/normalpoint/extended // Unused - name = "\improper 88M4 extended magazine (9mm)" - icon_state = "88m4_mag_ex" +/obj/item/ammo_magazine/pistol/vp70/ap + name = "\improper VP70 AP magazine (9mm)" + default_ammo = /datum/ammo/bullet/pistol/ap + caliber = "9mm" + icon_state = "vp70" + max_rounds = 19 + gun_type = /obj/item/weapon/gun/pistol/vp70 + ammo_band_color = AMMO_BAND_COLOR_AP + +/obj/item/ammo_magazine/pistol/vp70/extended // Unused + name = "\improper vp70 extended magazine (9mm)" + icon_state = "vp70_mag_ex" default_ammo = /datum/ammo/bullet/pistol caliber = "9mm" -/obj/item/ammo_magazine/pistol/mod88/toxin - name = "\improper 88M4 toxic magazine (9mm)" +/obj/item/ammo_magazine/pistol/vp70/toxin + name = "\improper vp70 toxic magazine (9mm)" default_ammo = /datum/ammo/bullet/pistol/ap/toxin ammo_band_color = AMMO_BAND_COLOR_TOXIN -/obj/item/ammo_magazine/pistol/mod88/penetrating - name = "\improper 88M4 wall-penetrating magazine (9mm)" +/obj/item/ammo_magazine/pistol/vp70/penetrating + name = "\improper vp70 wall-penetrating magazine (9mm)" default_ammo = /datum/ammo/bullet/pistol/ap/penetrating ammo_band_color = AMMO_BAND_COLOR_PENETRATING -/obj/item/ammo_magazine/pistol/mod88/incendiary - name = "\improper 88M4 incendiary magazine (9mm)" +/obj/item/ammo_magazine/pistol/vp70/incendiary + name = "\improper vp70 incendiary magazine (9mm)" default_ammo = /datum/ammo/bullet/pistol/incendiary ammo_band_color = AMMO_BAND_COLOR_INCENDIARY -/obj/item/ammo_magazine/pistol/mod88/rubber - name = "\improper 88M4 rubber magazine (9mm)" +/obj/item/ammo_magazine/pistol/vp70/rubber + name = "\improper vp70 rubber magazine (9mm)" default_ammo = /datum/ammo/bullet/pistol/rubber ammo_band_color = AMMO_BAND_COLOR_RUBBER @@ -269,36 +273,41 @@ //------------------------------------------------------- //CLF HOLDOUT PISTOL /obj/item/ammo_magazine/pistol/clfpistol - name = "D18 magazine (9mm)" - desc = "A small D18 magazine storing 7 9mm bullets. How is it even this small?" - default_ammo = /datum/ammo/bullet/pistol - caliber = "9mm" + name = "Type 18 magazine (.50)" + default_ammo = /datum/ammo/bullet/pistol/heavy/super + caliber = ".50" icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' icon_state = "m4a3" // placeholder - max_rounds = 7 + max_rounds = 3 w_class = SIZE_TINY gun_type = /obj/item/weapon/gun/pistol/clfpistol - //------------------------------------------------------- //.45 MARSHALS PISTOL //Inspired by the Browning Hipower // rebalanced - singlefire, very strong bullets but slow to fire and heavy recoil // redesigned - now rejected USCM sidearm model, utilized by Colonial Marshals and other stray groups. /obj/item/ammo_magazine/pistol/highpower - name = "\improper MK-45 Automagnum magazine (.45)" - default_ammo = /datum/ammo/bullet/pistol/highpower + name = "\improper HG-45 'Aguila' magazine (.45)" + default_ammo = /datum/ammo/bullet/pistol/heavy caliber = ".45" icon = 'icons/obj/items/weapons/guns/ammo_by_faction/colony.dmi' icon_state = "highpower" - max_rounds = 13 + max_rounds = 11 gun_type = /obj/item/weapon/gun/pistol/highpower //comes in black, for the black variant of the highpower, better for military usage /obj/item/ammo_magazine/pistol/highpower/black + name = "\improper HG 45 'Marina' magazine (.45)" icon_state = "highpower_b" +/obj/item/ammo_magazine/pistol/highpower/automag + name = "\improper HG 44 'Automag' magazine (.44)" + icon_state = "highpower_b" + max_rounds = 13 + default_ammo = /datum/ammo/bullet/revolver + //------------------------------------------------------- /* Auto 9 The gun RoboCop uses. A better version of the VP78, with more rounds per magazine. Probably the best pistol around, but takes no attachments. @@ -310,7 +319,7 @@ It is a modified Beretta 93R, and can fire three-round burst or single fire. Whe default_ammo = /datum/ammo/bullet/pistol/squash caliber = "9mm" icon = 'icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi' - icon_state = "88m4" //PLACEHOLDER + icon_state = "vp70" //PLACEHOLDER max_rounds = 50 gun_type = /obj/item/weapon/gun/pistol/auto9 diff --git a/code/modules/projectiles/magazines/revolvers.dm b/code/modules/projectiles/magazines/revolvers.dm index 7d56612530..8b32587c7a 100644 --- a/code/modules/projectiles/magazines/revolvers.dm +++ b/code/modules/projectiles/magazines/revolvers.dm @@ -78,21 +78,21 @@ max_rounds = 6 gun_type = /obj/item/weapon/gun/revolver/small -/obj/item/ammo_magazine/revolver/cmb - name = "\improper Spearhead hollowpoint speed loader (.357)" - desc = "A speedloader of 6 hollowpoint .357 bullets, issued to Colonial Marshals to both prevent overpenetration and improve performance against unarmored criminals or wildlife. Less effective against hard targets, but what're the chances of encountering those?" - default_ammo = /datum/ammo/bullet/revolver/small/hollowpoint +/obj/item/ammo_magazine/revolver/spearhead + name = "\improper Spearhead speed loader (.357)" + desc = "A speedloader of 6 FMJ .357 bullets, uncommonly issued to Colonial Marshals due to overpenetration risks." + default_ammo = /datum/ammo/bullet/revolver/small caliber = ".357" icon = 'icons/obj/items/weapons/guns/ammo_by_faction/colony.dmi' - icon_state = "cmb_hp" + icon_state = "cmb" max_rounds = 6 - gun_type = /obj/item/weapon/gun/revolver/cmb + gun_type = /obj/item/weapon/gun/revolver/spearhead -/obj/item/ammo_magazine/revolver/cmb/normalpoint //put these in the marshal ert - ok sure :) +/obj/item/ammo_magazine/revolver/spearhead/hollowpoint name = "\improper Spearhead speed loader (.357)" - desc = "A speedloader of 6 FMJ .357 bullets, uncommonly issued to Colonial Marshals due to overpenetration risks." - default_ammo = /datum/ammo/bullet/revolver/small - icon_state = "cmb" + desc = "A speedloader of 6 hollowpoint .357 bullets, commonly issued to Colonial Marshals to both prevent overpenetration and improve performance against unarmored criminals or wildlife." + default_ammo = /datum/ammo/bullet/revolver/small/hollowpoint + icon_state = "cmb_hp" /** * MATEBA REVOLVER @@ -205,15 +205,15 @@ //------------------------------------------------------- //MARSHALS REVOLVER //Spearhead exists in Alien cannon. -/obj/item/ammo_magazine/internal/revolver/cmb +/obj/item/ammo_magazine/internal/revolver/spearhead default_ammo = /datum/ammo/bullet/revolver/small caliber = ".357" - gun_type = /obj/item/weapon/gun/revolver/cmb + gun_type = /obj/item/weapon/gun/revolver/spearhead -/obj/item/ammo_magazine/internal/revolver/cmb/hollowpoint +/obj/item/ammo_magazine/internal/revolver/spearhead/hollowpoint default_ammo = /datum/ammo/bullet/revolver/small/hollowpoint caliber = ".357" - gun_type = /obj/item/weapon/gun/revolver/cmb + gun_type = /obj/item/weapon/gun/revolver/spearhead //------------------------------------------------------- //BIG GAME HUNTER'S REVOLVER diff --git a/code/modules/projectiles/magazines/shotguns.dm b/code/modules/projectiles/magazines/shotguns.dm index 3c26685a55..e378aed3c4 100644 --- a/code/modules/projectiles/magazines/shotguns.dm +++ b/code/modules/projectiles/magazines/shotguns.dm @@ -24,7 +24,7 @@ var/list/shotgun_boxes_12g = list( caliber = "12g" gun_type = /obj/item/weapon/gun/shotgun max_rounds = 25 // Real shotgun boxes are usually 5 or 25 rounds. This works with the new system, five handfuls. - w_class = SIZE_LARGE // Can't throw it in your pocket, friend. + w_class = SIZE_MEDIUM // Can't throw it in your pocket, friend. flags_magazine = AMMUNITION_REFILLABLE|AMMUNITION_HANDFUL_BOX handful_state = "slug_shell" transfer_handful_amount = 5 @@ -70,15 +70,6 @@ var/list/shotgun_boxes_12g = list( default_ammo = /datum/ammo/bullet/shotgun/beanbag handful_state = "beanbag_slug" -/obj/item/ammo_magazine/shotgun/beanbag/riot - name = "box of RC beanbag slugs" - desc = "A box filled with beanbag shotgun shells used for non-lethal crowd control. Riot Control use only." - icon_state = "beanbag" - item_state = "beanbag" - default_ammo = /datum/ammo/bullet/shotgun/beanbag - handful_state = "beanbag_slug" - caliber = "20g" - /obj/item/ammo_magazine/shotgun/buckshot/special name = "box of buckshot shells, USCM special type" desc = "A box filled with buckshot spread shotgun shells, USCM special type. 12 Gauge." @@ -91,12 +82,14 @@ Generic internal magazine. All shotguns will use this or a variation with differ Since all shotguns share ammo types, the gun path is going to be the same for all of them. And it also doesn't really matter. You can only reload them with handfuls. */ + /obj/item/ammo_magazine/internal/shotgun name = "shotgun tube" desc = "An internal magazine. It is not supposed to be seen or removed." default_ammo = /datum/ammo/bullet/shotgun/buckshot caliber = "12g" - max_rounds = 9 + max_rounds = 4 + current_rounds = 0 chamber_closed = 0 /obj/item/ammo_magazine/internal/shotgun/double //For a double barrel. @@ -117,36 +110,26 @@ also doesn't really matter. You can only reload them with handfuls. caliber = "2 bore" default_ammo = /datum/ammo/bullet/shotgun/twobore +/obj/item/ammo_magazine/internal/shotgun/combat + caliber = "12g" + max_rounds = 6 + /obj/item/ammo_magazine/internal/shotgun/combat/riot - caliber = "20g" default_ammo = /datum/ammo/bullet/shotgun/beanbag + current_rounds = 6 + +/obj/item/ammo_magazine/internal/shotgun/marsoc + caliber = "12g" + max_rounds = 7 + current_rounds = 7 /obj/item/ammo_magazine/internal/shotgun/merc max_rounds = 5 -/obj/item/ammo_magazine/internal/shotgun/buckshot - default_ammo = /datum/ammo/bullet/shotgun/buckshot - /obj/item/ammo_magazine/internal/shotgun/type23 - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot caliber = "8g" max_rounds = 4 -/obj/item/ammo_magazine/internal/shotgun/type23/slug - default_ammo = /datum/ammo/bullet/shotgun/heavy/slug - -/obj/item/ammo_magazine/internal/shotgun/type23/flechette - default_ammo = /datum/ammo/bullet/shotgun/heavy/flechette - -/obj/item/ammo_magazine/internal/shotgun/type23/dragonsbreath - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot/dragonsbreath - -/obj/item/ammo_magazine/internal/shotgun/type23/beanbag - default_ammo = /datum/ammo/bullet/shotgun/heavy/beanbag - -/obj/item/ammo_magazine/internal/shotgun/type23/special - default_ammo = /datum/ammo/bullet/shotgun/heavy/buckshot/special - /obj/item/ammo_magazine/internal/shotgun/cmb default_ammo = /datum/ammo/bullet/shotgun/buckshot max_rounds = 4 @@ -154,9 +137,6 @@ also doesn't really matter. You can only reload them with handfuls. /obj/item/ammo_magazine/internal/shotgun/cmb/m3717 max_rounds = 5 -/obj/item/ammo_magazine/internal/shotgun/special - default_ammo = /datum/ammo/bullet/shotgun/buckshot/special - //------------------------------------------------------- /* diff --git a/code/modules/reagents/chemistry_reagents/other.dm b/code/modules/reagents/chemistry_reagents/other.dm index bbeeca2e3c..557e977929 100644 --- a/code/modules/reagents/chemistry_reagents/other.dm +++ b/code/modules/reagents/chemistry_reagents/other.dm @@ -109,10 +109,10 @@ description = "A ubiquitous chemical substance that is composed of hydrogen and oxygen. It is a vital component to all known forms of organic life, even though it provides no calories or organic nutrients. It is also an effective solvent and can be used for cleaning." reagent_state = LIQUID color = "#0064C8" // rgb: 0, 100, 200 - custom_metabolism = AMOUNT_PER_TIME(1, 200 SECONDS) chemclass = CHEM_CLASS_BASIC chemfiresupp = TRUE intensitymod = -3 + properties = list(PROPERTY_HEMOGENIC = 1) /datum/reagent/water/reaction_turf(turf/T, volume) if(!istype(T)) return @@ -132,6 +132,12 @@ if(M.fire_stacks <= 0) M.ExtinguishMob() +/datum/reagent/water/on_mob_life(mob/living/M) + . = ..() + if(ishuman(M) && volume >= 100 && prob(25)) + var/mob/living/carbon/human/human = M + human.vomit() + /datum/reagent/water/holywater name = "Holy Water" id = "holywater" diff --git a/code/modules/vehicles/interior/interactable/vendors.dm b/code/modules/vehicles/interior/interactable/vendors.dm index aa2411f89f..fc77d4d0d5 100644 --- a/code/modules/vehicles/interior/interactable/vendors.dm +++ b/code/modules/vehicles/interior/interactable/vendors.dm @@ -185,7 +185,7 @@ list("M4RA Battle Rifle", round(scale * 2), /obj/item/weapon/gun/rifle/m4ra, VENDOR_ITEM_REGULAR), list("SIDEARMS", -1, null, null), - list("88 Mod 4 Combat Pistol", round(scale * 2), /obj/item/weapon/gun/pistol/mod88, VENDOR_ITEM_REGULAR), + list("VP70 Combat Pistol", round(scale * 2), /obj/item/weapon/gun/pistol/vp70, VENDOR_ITEM_REGULAR), list("M44 Combat Revolver", round(scale * 1.5), /obj/item/weapon/gun/revolver/m44, VENDOR_ITEM_REGULAR), list("M4A3 Service Pistol", round(scale * 2.5), /obj/item/weapon/gun/pistol/m4a3, VENDOR_ITEM_REGULAR), @@ -215,7 +215,7 @@ list("M39 HV Magazine (10x20mm)", round(scale * 6), /obj/item/ammo_magazine/smg/m39, VENDOR_ITEM_REGULAR), list("M44 Speed Loader (.44)", round(scale * 4), /obj/item/ammo_magazine/revolver, VENDOR_ITEM_REGULAR), list("M4A3 Magazine (9mm)", round(scale * 10), /obj/item/ammo_magazine/pistol, VENDOR_ITEM_REGULAR), - list("88 Mod 4 Magazine (9mm)", round(scale * 8), /obj/item/ammo_magazine/pistol/mod88/normalpoint, VENDOR_ITEM_REGULAR), + list("VP70 Magazine (9mm)", round(scale * 8), /obj/item/ammo_magazine/pistol/vp70, VENDOR_ITEM_REGULAR), list("ARMOR-PIERCING AMMUNITION", -1, null, null), list("M4RA AP Magazine (10x24mm)", 0, /obj/item/ammo_magazine/rifle/m4ra/ap, VENDOR_ITEM_REGULAR), diff --git a/html/changelogs/archive/2024-08.yml b/html/changelogs/archive/2024-08.yml index fdc818cd13..65fe0ef0b8 100644 --- a/html/changelogs/archive/2024-08.yml +++ b/html/changelogs/archive/2024-08.yml @@ -114,4 +114,19 @@ Meatstuff882: - rscadd: 'The utility vendor now has knives in it. + :cl:' +2024-08-29: + AndroBetel: + - rscadd: Water now helps you regen blood. + - rscadd: Vomiting now removes some reagents, helping negate OD effects. + - balance: Vulture no longer has minimum range requirements to hit bugs. + - rscadd: Adds restricted underwear. + Doubleumc: + - code_imp: changed slotting - new players and players that got skipped previous + rounds have a higher chance to get a slot + - code_imp: AI caches valid targets for better performance + Merrgear: + - qol: made crit less boring + - code_imp: 'changed the crit code to not knock you unconcious + :cl:' diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi index 24840d6348..d237128b24 100644 Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ diff --git a/icons/mob/humans/onmob/belt.dmi b/icons/mob/humans/onmob/belt.dmi index 9079bda5e7..5c3e8a6dc6 100644 Binary files a/icons/mob/humans/onmob/belt.dmi and b/icons/mob/humans/onmob/belt.dmi differ diff --git a/icons/mob/humans/onmob/items_lefthand_1.dmi b/icons/mob/humans/onmob/items_lefthand_1.dmi index a872ddcc8a..46bc771b52 100644 Binary files a/icons/mob/humans/onmob/items_lefthand_1.dmi and b/icons/mob/humans/onmob/items_lefthand_1.dmi differ diff --git a/icons/mob/humans/onmob/items_righthand_1.dmi b/icons/mob/humans/onmob/items_righthand_1.dmi index c0b150a2d7..8a0fbd85c6 100644 Binary files a/icons/mob/humans/onmob/items_righthand_1.dmi and b/icons/mob/humans/onmob/items_righthand_1.dmi differ diff --git a/icons/mob/humans/onmob/suit_slot.dmi b/icons/mob/humans/onmob/suit_slot.dmi index 555b5a0e7a..4790ee7af6 100644 Binary files a/icons/mob/humans/onmob/suit_slot.dmi and b/icons/mob/humans/onmob/suit_slot.dmi differ diff --git a/icons/mob/humans/undershirt.dmi b/icons/mob/humans/undershirt.dmi index 468778851c..928dc332e6 100644 Binary files a/icons/mob/humans/undershirt.dmi and b/icons/mob/humans/undershirt.dmi differ diff --git a/icons/obj/items/clothing/belts.dmi b/icons/obj/items/clothing/belts.dmi index 4e9a85cc90..90aacb3563 100644 Binary files a/icons/obj/items/clothing/belts.dmi and b/icons/obj/items/clothing/belts.dmi differ diff --git a/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi index 0d50208cc8..0ea04eeb2a 100644 Binary files a/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/ammo_by_faction/uscm.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments.dmi b/icons/obj/items/weapons/guns/attachments.dmi index 332217fe1c..96038c374a 100644 Binary files a/icons/obj/items/weapons/guns/attachments.dmi and b/icons/obj/items/weapons/guns/attachments.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/stock.dmi b/icons/obj/items/weapons/guns/attachments/stock.dmi index d3a95284a2..506148cedf 100644 Binary files a/icons/obj/items/weapons/guns/attachments/stock.dmi and b/icons/obj/items/weapons/guns/attachments/stock.dmi differ diff --git a/icons/obj/items/weapons/guns/attachments/under.dmi b/icons/obj/items/weapons/guns/attachments/under.dmi index 8947ecd174..b98e185f02 100644 Binary files a/icons/obj/items/weapons/guns/attachments/under.dmi and b/icons/obj/items/weapons/guns/attachments/under.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/colony.dmi b/icons/obj/items/weapons/guns/guns_by_faction/colony.dmi index 04c1fd5468..feca8443db 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/colony.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/colony.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi b/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi index 669efcfc59..16e37d5f4e 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/upp.dmi differ diff --git a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi index e57c625158..b107511d67 100644 Binary files a/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi and b/icons/obj/items/weapons/guns/guns_by_faction/uscm.dmi differ diff --git a/icons/obj/items/weapons/guns/lineart.dmi b/icons/obj/items/weapons/guns/lineart.dmi index 6920290c7e..7e8537cca5 100644 Binary files a/icons/obj/items/weapons/guns/lineart.dmi and b/icons/obj/items/weapons/guns/lineart.dmi differ diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index c1ff18c9fa..0eb6024a5a 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -1662,7 +1662,7 @@ /area/bigredv2/outside/marshal_office) "afo" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" @@ -1670,7 +1670,7 @@ /area/bigredv2/outside/marshal_office) "afp" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" @@ -1681,7 +1681,7 @@ /obj/structure/machinery/light{ dir = 1 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" @@ -24149,7 +24149,7 @@ }, /obj/structure/closet/cabinet, /obj/item/disk/nuclear, -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, /obj/structure/pipes/vents/pump/on, /turf/open/floor{ icon_state = "wood" @@ -24760,8 +24760,8 @@ /area/bigredv2/caves_se) "bMa" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70, /turf/open/floor{ dir = 8; icon_state = "redcorner" @@ -31566,7 +31566,7 @@ "miD" = ( /obj/effect/decal/cleanable/blood, /obj/effect/landmark/corpsespawner/security/marshal, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/mars_cave{ icon_state = "mars_cave_2" }, @@ -38204,7 +38204,7 @@ }, /area/bigredv2/caves_north) "vBy" = ( -/obj/item/ammo_magazine/shotgun/beanbag/riot, +/obj/item/ammo_magazine/shotgun/beanbag, /turf/open/mars_cave{ icon_state = "mars_cave_17" }, diff --git a/maps/map_files/BigRed/sprinkles/10.prison_breakout.dmm b/maps/map_files/BigRed/sprinkles/10.prison_breakout.dmm index e2e995af42..744ef04af7 100644 --- a/maps/map_files/BigRed/sprinkles/10.prison_breakout.dmm +++ b/maps/map_files/BigRed/sprinkles/10.prison_breakout.dmm @@ -223,7 +223,7 @@ /area/bigredv2/outside/marshal_office) "aF" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" @@ -231,7 +231,7 @@ /area/bigredv2/outside/marshal_office) "aG" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" @@ -242,7 +242,7 @@ /obj/structure/machinery/light{ dir = 1 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 8; icon_state = "vault" diff --git a/maps/map_files/BigRed/sprinkles/20.etatunnel_open.dmm b/maps/map_files/BigRed/sprinkles/20.etatunnel_open.dmm index 633a79f6ac..9666ca41a4 100644 --- a/maps/map_files/BigRed/sprinkles/20.etatunnel_open.dmm +++ b/maps/map_files/BigRed/sprinkles/20.etatunnel_open.dmm @@ -374,7 +374,7 @@ /area/bigredv2/outside/lz2_south_cas) "Jy" = ( /obj/structure/surface/table/reinforced/prison, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/item/device/flashlight/lamp/on{ pixel_x = -5; pixel_y = 17 diff --git a/maps/map_files/CORSAT/Corsat.dmm b/maps/map_files/CORSAT/Corsat.dmm index a87db5ef1e..a0a3bb64d9 100644 --- a/maps/map_files/CORSAT/Corsat.dmm +++ b/maps/map_files/CORSAT/Corsat.dmm @@ -371,12 +371,12 @@ /area/corsat/gamma/hangar) "abn" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /turf/open/floor/corsat{ dir = 9; icon_state = "red" @@ -1005,12 +1005,12 @@ /area/corsat/gamma/hangar/checkpoint) "adc" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /turf/open/floor/corsat{ dir = 1; icon_state = "red" @@ -9023,9 +9023,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -11307,16 +11307,16 @@ /turf/open/floor/wood, /area/corsat/gamma/residential/researcher) "aGc" = ( -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70, /obj/structure/surface/rack, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /turf/open/floor/corsat{ dir = 9; icon_state = "red" @@ -13781,9 +13781,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -19090,9 +19090,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -19111,9 +19111,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -28907,9 +28907,9 @@ "bDd" = ( /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /obj/structure/closet/secure_closet/security, @@ -28944,9 +28944,9 @@ "bDk" = ( /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /obj/structure/closet/secure_closet/security, @@ -41809,7 +41809,7 @@ /area/corsat/sigma/southeast/datalab) "gys" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/corsat{ icon_state = "red" }, @@ -43618,9 +43618,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -56944,10 +56944,10 @@ /area/corsat/sigma/hangar/security) "rRh" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/corsat{ dir = 6; icon_state = "red" @@ -58917,9 +58917,9 @@ /obj/structure/closet/secure_closet/security_empty, /obj/item/storage/belt/security/MP/full, /obj/item/clothing/accessory/storage/holster/armpit, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/weapon/gun/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/item/storage/pouch/general/medium, /obj/item/storage/pouch/pistol, /turf/open/floor/corsat{ @@ -59390,7 +59390,7 @@ /area/corsat/gamma/hallwaysouth) "tFs" = ( /obj/structure/surface/table/almayer, -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, /turf/open/floor/corsat{ dir = 8; icon_state = "red" diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index 6325533e9b..cc04cfc015 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -4609,14 +4609,14 @@ /area/desert_dam/interior/lab_northeast/east_lab_security_armory) "anS" = ( /obj/structure/surface/table/reinforced, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/prison{ icon_state = "darkredfull2" }, /area/desert_dam/interior/lab_northeast/east_lab_security_armory) "anT" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/prison{ icon_state = "darkredfull2" }, @@ -19966,7 +19966,7 @@ /turf/open/asphalt, /area/desert_dam/exterior/valley/valley_wilderness) "bkG" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /obj/structure/surface/table/woodentable/fancy, /turf/open/floor/interior/wood/alt, /area/desert_dam/building/security/marshals_office) @@ -31817,13 +31817,13 @@ /area/desert_dam/building/security/armory) "bYq" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -43409,7 +43409,7 @@ /area/desert_dam/building/security/armory) "cJv" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/prison{ icon_state = "darkredfull2" }, diff --git a/maps/map_files/FOP_v3_Sciannex/sprinkles/15.wardenofficedecorated.dmm b/maps/map_files/FOP_v3_Sciannex/sprinkles/15.wardenofficedecorated.dmm index fa4a9b8b7b..eb34c85224 100644 --- a/maps/map_files/FOP_v3_Sciannex/sprinkles/15.wardenofficedecorated.dmm +++ b/maps/map_files/FOP_v3_Sciannex/sprinkles/15.wardenofficedecorated.dmm @@ -112,7 +112,7 @@ pixel_y = 21 }, /obj/structure/surface/table/woodentable/fancy, -/obj/item/weapon/gun/pistol/highpower/tactical, +/obj/item/weapon/gun/pistol/highpower/automag/tactical, /turf/open/floor/plating, /area/template_noop) "W" = ( diff --git a/maps/map_files/FOP_v3_Sciannex/sprinkles/20.poolparty.dmm b/maps/map_files/FOP_v3_Sciannex/sprinkles/20.poolparty.dmm index 63fb17b8f8..5ba86e60f7 100644 --- a/maps/map_files/FOP_v3_Sciannex/sprinkles/20.poolparty.dmm +++ b/maps/map_files/FOP_v3_Sciannex/sprinkles/20.poolparty.dmm @@ -1357,7 +1357,7 @@ pixel_y = -2 }, /obj/item/weapon/gun/pistol/heavy, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/wood, /area/template_noop) "We" = ( diff --git a/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm b/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm index e406258040..7b1a34d0ec 100644 --- a/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm +++ b/maps/map_files/Ice_Colony_v2/Ice_Colony_v2.dmm @@ -10309,7 +10309,7 @@ }, /area/ice_colony/surface/command/control/office) "aDb" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/structure/pipes/standard/simple/hidden/green, /turf/open/floor{ icon_state = "dark2" @@ -26765,8 +26765,8 @@ /area/ice_colony/underground/security/detective) "bCc" = ( /obj/structure/surface/table/woodentable, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/wood, /area/ice_colony/underground/security/marshal) "bCd" = ( @@ -32159,8 +32159,8 @@ /area/ice_colony/underground/maintenance/security) "bRx" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/weapon/gun/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -32365,13 +32365,13 @@ /obj/structure/machinery/light{ dir = 8 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, diff --git a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm index 0332274d42..3b48073ec6 100644 --- a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm +++ b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm @@ -1734,8 +1734,8 @@ /area/shiva/interior/colony/medseceng) "ahP" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/weapon/gun/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -1847,8 +1847,8 @@ /area/shiva/interior/aerodrome) "aim" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/weapon/gun/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2383,13 +2383,13 @@ dir = 8; pixel_y = -5 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2831,8 +2831,8 @@ /area/shiva/interior/warehouse) "anP" = ( /obj/structure/surface/table/woodentable, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/wood, /area/shiva/interior/colony/medseceng) "anR" = ( @@ -17922,13 +17922,13 @@ /area/shiva/interior/colony/central) "nfg" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -20274,7 +20274,7 @@ }, /area/shiva/interior/colony/deck) "pME" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -21558,7 +21558,7 @@ /area/shiva/interior/colony/s_admin) "reV" = ( /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/shiva{ dir = 8; icon_state = "purplefull" @@ -24239,7 +24239,7 @@ }, /area/shiva/interior/colony/research_hab) "uee" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/cp_lz2) "ueu" = ( @@ -24540,7 +24540,7 @@ /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/junkyard/fortbiceps) "upp" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ dir = 8; icon_state = "purplefull" diff --git a/maps/map_files/Kutjevo/Kutjevo.dmm b/maps/map_files/Kutjevo/Kutjevo.dmm index 558f1a637d..42a46a0d9e 100644 --- a/maps/map_files/Kutjevo/Kutjevo.dmm +++ b/maps/map_files/Kutjevo/Kutjevo.dmm @@ -1324,7 +1324,7 @@ /area/kutjevo/interior/oob) "bRa" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/colors/orange/edge{ dir = 1 }, @@ -3197,7 +3197,7 @@ /turf/open/floor/kutjevo/plate, /area/kutjevo/interior/colony_central) "emn" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/complex/botany) "emU" = ( @@ -5278,7 +5278,7 @@ /turf/closed/wall/kutjevo/rock, /area/kutjevo/interior/complex/botany) "hkY" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/gm/river/desert/deep/covered, /area/kutjevo/interior/power/comms) "hmi" = ( @@ -6684,7 +6684,7 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/interior/colony_S_East) "jtu" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/kutjevo/colors/orange, /area/kutjevo/interior/power/comms) "jtJ" = ( @@ -7554,7 +7554,7 @@ /obj/structure/barricade/deployable{ dir = 1 }, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/Northwest_Flight_Control) "kIn" = ( @@ -11306,7 +11306,7 @@ /turf/open/auto_turf/sand/layer1, /area/kutjevo/exterior/Northwest_Colony) "pKO" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/power/comms) "pKP" = ( @@ -12682,7 +12682,7 @@ }, /area/kutjevo/exterior/runoff_river) "rNG" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/botany) "rOd" = ( @@ -13389,7 +13389,7 @@ /turf/open/auto_turf/sand/layer2, /area/kutjevo/interior/colony_N_East) "sOc" = ( -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -13649,7 +13649,7 @@ /turf/open/floor/kutjevo/grey/plate, /area/kutjevo/interior/complex/botany/east_tech) "tgl" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/Northwest_Flight_Control) "tgO" = ( @@ -13659,7 +13659,7 @@ /area/kutjevo/interior/colony_S_East) "tgZ" = ( /obj/structure/surface/table/almayer, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/colors/purple, /area/kutjevo/interior/construction) "tha" = ( @@ -13908,7 +13908,7 @@ /turf/open/floor/kutjevo/grey/plate, /area/kutjevo/interior/complex/botany/east_tech) "tyW" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/kutjevo/tan, /area/kutjevo/interior/complex/botany) "tzJ" = ( @@ -13927,7 +13927,7 @@ /turf/open/floor/kutjevo/grey/plate, /area/kutjevo/interior/construction) "tBB" = ( -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 7; pixel_y = 6 }, @@ -15048,15 +15048,15 @@ /area/kutjevo/interior/complex/botany) "vaG" = ( /obj/structure/surface/table/almayer, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 7; pixel_y = 6 }, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = -7; pixel_y = -6 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/kutjevo/colors/purple, /area/kutjevo/interior/construction) "vbl" = ( @@ -15959,7 +15959,7 @@ /turf/open/gm/river/desert/shallow, /area/kutjevo/interior/oob/dev_room) "wpY" = ( -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -16532,7 +16532,7 @@ /turf/open/floor/kutjevo/tan/multi_tiles, /area/kutjevo/interior/complex/botany/east) "xkE" = ( -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 7; pixel_y = 6 }, diff --git a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm index a92e396785..99c77f860a 100644 --- a/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm +++ b/maps/map_files/LV522_Chances_Claim/LV522_Chances_Claim.dmm @@ -3511,7 +3511,7 @@ /area/lv522/indoors/a_block/security) "bSa" = ( /obj/effect/decal/cleanable/blood, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/structure/pipes/standard/simple/hidden/green{ dir = 4 }, @@ -3542,7 +3542,7 @@ }, /obj/effect/decal/cleanable/blood/gibs, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "radiator_tile2" }, @@ -4306,7 +4306,7 @@ /turf/open/auto_turf/shale/layer1, /area/lv522/outdoors/w_rockies) "ckT" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/structure/pipes/standard/simple/hidden/green{ dir = 6 }, @@ -22691,8 +22691,8 @@ "jmd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/prison{ icon_state = "darkredfull2" }, @@ -38900,7 +38900,7 @@ }, /area/lv522/landing_zone_1) "pni" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/prison, /area/lv522/indoors/a_block/kitchen/glass) "pnj" = ( @@ -43194,7 +43194,7 @@ }, /area/lv522/atmos/command_centre) "qPu" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/item/clothing/head/soft/sec, /obj/structure/curtain/medical, /turf/open/floor/strata{ @@ -60611,8 +60611,8 @@ /area/lv522/indoors/c_block/mining) "xbj" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /obj/effect/decal/cleanable/dirt, /turf/open/floor/prison{ icon_state = "darkredfull2" diff --git a/maps/map_files/LV624/LV624.dmm b/maps/map_files/LV624/LV624.dmm index c9c82635d8..d512590d7d 100644 --- a/maps/map_files/LV624/LV624.dmm +++ b/maps/map_files/LV624/LV624.dmm @@ -8865,10 +8865,10 @@ dir = 4 }, /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 5; icon_state = "red" @@ -8880,10 +8880,10 @@ }, /obj/structure/surface/table, /obj/item/clothing/ears/earmuffs, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 9; icon_state = "red" diff --git a/maps/map_files/LV624/armory/10.cheese.dmm b/maps/map_files/LV624/armory/10.cheese.dmm index 96b4ef5942..347e392787 100644 --- a/maps/map_files/LV624/armory/10.cheese.dmm +++ b/maps/map_files/LV624/armory/10.cheese.dmm @@ -159,10 +159,10 @@ dir = 4 }, /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 5; icon_state = "red" diff --git a/maps/map_files/LV624/armory/10.extra.dmm b/maps/map_files/LV624/armory/10.extra.dmm index cf1aaaa538..53a94ef204 100644 --- a/maps/map_files/LV624/armory/10.extra.dmm +++ b/maps/map_files/LV624/armory/10.extra.dmm @@ -164,10 +164,10 @@ dir = 4 }, /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 5; icon_state = "red" diff --git a/maps/map_files/LV624/armory/10.looted.dmm b/maps/map_files/LV624/armory/10.looted.dmm index cf2d4a9e02..ae5bbef21b 100644 --- a/maps/map_files/LV624/armory/10.looted.dmm +++ b/maps/map_files/LV624/armory/10.looted.dmm @@ -137,10 +137,10 @@ dir = 4 }, /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 5; icon_state = "red" diff --git a/maps/map_files/LV624_Fixed/LV624_repaired.dmm b/maps/map_files/LV624_Fixed/LV624_repaired.dmm index 0054709887..5334b7a123 100644 --- a/maps/map_files/LV624_Fixed/LV624_repaired.dmm +++ b/maps/map_files/LV624_Fixed/LV624_repaired.dmm @@ -14919,7 +14919,7 @@ /area/lv624/lazarus/landing_zones/lz1) "qwG" = ( /obj/structure/surface/rack, -/obj/item/storage/box/clf, +/obj/item/storage/box/loadout/clf, /turf/open/shuttle{ icon_state = "floor4" }, @@ -17585,10 +17585,10 @@ dir = 4 }, /obj/structure/surface/table, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 5; icon_state = "red" @@ -19048,10 +19048,10 @@ }, /obj/structure/surface/table, /obj/item/clothing/ears/earmuffs, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor{ dir = 9; icon_state = "red" diff --git a/maps/map_files/New_Varadero/New_Varadero.dmm b/maps/map_files/New_Varadero/New_Varadero.dmm index be2e218d2f..0b29155026 100644 --- a/maps/map_files/New_Varadero/New_Varadero.dmm +++ b/maps/map_files/New_Varadero/New_Varadero.dmm @@ -1381,7 +1381,7 @@ dir = 1; pixel_y = 17 }, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead{ pixel_y = 2 }, /obj/item/clothing/ears/earmuffs{ @@ -3754,8 +3754,8 @@ /area/varadero/interior/hall_SE) "cur" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88{ +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70{ pixel_y = -2 }, /obj/structure/machinery/storm_siren{ @@ -4748,7 +4748,7 @@ }, /area/varadero/interior/hall_NW) "dcM" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior/caves/north_research) "dda" = ( @@ -14358,7 +14358,7 @@ }, /area/varadero/interior/records) "jvF" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "multi_tiles" }, @@ -14369,7 +14369,7 @@ /turf/open/auto_turf/sand_white/layer1, /area/varadero/interior_protected/caves/digsite) "jwy" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "purple" }, @@ -24832,16 +24832,16 @@ /area/varadero/interior/hall_SE) "qfb" = ( /obj/structure/closet/crate/ammo/alt, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = -4; pixel_y = -5 }, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = -4; pixel_y = -5 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -26627,7 +26627,7 @@ /obj/structure/machinery/light{ dir = 1 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "purple" }, @@ -28679,15 +28679,15 @@ /area/varadero/interior/maintenance/security) "syb" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/structure/machinery/light{ dir = 4 }, @@ -32044,7 +32044,7 @@ icon_state = "cartridge_1_1" }, /obj/effect/decal/cleanable/blood, -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -37068,8 +37068,8 @@ /area/varadero/interior/electrical) "xRx" = ( /obj/structure/surface/table/woodentable, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/wood, /area/varadero/interior/security) "xRF" = ( diff --git a/maps/map_files/New_Varadero_Fixed/New_Varadero_Repaired.dmm b/maps/map_files/New_Varadero_Fixed/New_Varadero_Repaired.dmm index 1413a053bc..7a81776beb 100644 --- a/maps/map_files/New_Varadero_Fixed/New_Varadero_Repaired.dmm +++ b/maps/map_files/New_Varadero_Fixed/New_Varadero_Repaired.dmm @@ -1273,7 +1273,7 @@ dir = 1; pixel_y = 17 }, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead{ pixel_y = 2 }, /obj/item/clothing/ears/earmuffs{ @@ -3523,8 +3523,8 @@ /area/varadero/interior/hall_SE) "cur" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/pistol/mod88, -/obj/item/weapon/gun/pistol/mod88{ +/obj/item/weapon/gun/pistol/vp70, +/obj/item/weapon/gun/pistol/vp70{ pixel_y = -2 }, /obj/structure/machinery/storm_siren{ @@ -23255,16 +23255,16 @@ /area/varadero/interior/bunks) "qfb" = ( /obj/structure/closet/crate/ammo/alt, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = -4; pixel_y = -5 }, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = -4; pixel_y = -5 }, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/shiva{ icon_state = "floor3" }, @@ -26894,15 +26894,15 @@ /area/varadero/interior/maintenance/security) "syb" = ( /obj/structure/surface/rack, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /obj/structure/machinery/light{ dir = 4 }, @@ -30093,7 +30093,7 @@ }, /area/varadero/interior/technical_storage) "uMQ" = ( -/obj/item/weapon/gun/pistol/mod88, +/obj/item/weapon/gun/pistol/vp70, /turf/open/floor/plating/icefloor{ icon_state = "asteroidplating" }, @@ -34783,8 +34783,8 @@ /area/varadero/interior/electrical) "xRx" = ( /obj/structure/surface/table/woodentable, -/obj/item/weapon/gun/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/floor/wood, /area/varadero/interior/security) "xRF" = ( diff --git a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm index 9cc753e4bd..451798f51f 100644 --- a/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm +++ b/maps/map_files/Sorokyne_Strata/Sorokyne_Strata.dmm @@ -2191,7 +2191,7 @@ /area/strata/ag/interior/dorms/hive) "agD" = ( /obj/effect/decal/cleanable/blood, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2238,7 +2238,7 @@ /area/strata/ag/exterior/paths/cabin_area) "agI" = ( /obj/structure/bed/nest, -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2447,7 +2447,7 @@ /area/strata/ag/interior/dorms/hive) "aht" = ( /obj/structure/bed/nest, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2824,7 +2824,7 @@ /obj/effect/decal/cleanable/blood{ icon_state = "xgib2" }, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -2834,7 +2834,7 @@ /area/strata/ag/interior/dorms/hive) "aiC" = ( /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -3043,7 +3043,7 @@ }, /area/strata/ag/interior/dorms/hive) "ajk" = ( -/obj/item/weapon/gun/revolver/cmb{ +/obj/item/weapon/gun/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -27742,7 +27742,7 @@ }, /area/strata/ag/interior/nearlz1) "coY" = ( -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -27752,7 +27752,7 @@ /area/strata/ag/interior/dorms/hive) "coZ" = ( /obj/effect/decal/cleanable/blood, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -33135,12 +33135,12 @@ /turf/closed/wall/strata_outpost, /area/strata/ug/interior/outpost/jung/dorms/med2) "jXD" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /obj/structure/surface/rack{ layer = 2.5 }, -/obj/item/ammo_magazine/revolver/cmb, -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, +/obj/item/ammo_magazine/revolver/spearhead, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor/strata{ dir = 4; @@ -34361,7 +34361,7 @@ /obj/structure/pipes/vents/pump{ dir = 1 }, -/obj/item/ammo_magazine/revolver/cmb{ +/obj/item/ammo_magazine/revolver/spearhead{ pixel_x = 6; pixel_y = -4 }, @@ -36915,7 +36915,7 @@ /turf/open/floor/strata, /area/strata/ug/interior/outpost/jung/dorms/med2) "qdI" = ( -/obj/item/ammo_magazine/revolver/cmb, +/obj/item/ammo_magazine/revolver/spearhead, /turf/open/auto_turf/ice/layer1, /area/strata/ag/exterior/paths/southresearch) "qer" = ( @@ -40802,7 +40802,7 @@ }, /area/strata/ag/interior/research_decks/security) "wgu" = ( -/obj/item/weapon/gun/revolver/cmb, +/obj/item/weapon/gun/revolver/spearhead, /turf/open/auto_turf/ice/layer1, /area/strata/ag/exterior/paths/southresearch) "wgB" = ( diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 128256587e..1f3bf36f78 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -23563,7 +23563,7 @@ dir = 4 }, /obj/structure/surface/table/reinforced/almayer_B, -/obj/item/storage/box/co2_knife{ +/obj/item/storage/box/loadout/co2_knife{ pixel_x = 8; pixel_y = 9 }, diff --git a/maps/map_files/Whiskey_Outpost_v2/Whiskey_Outpost_v2.dmm b/maps/map_files/Whiskey_Outpost_v2/Whiskey_Outpost_v2.dmm index 36c8e9abe7..e5461db06c 100644 --- a/maps/map_files/Whiskey_Outpost_v2/Whiskey_Outpost_v2.dmm +++ b/maps/map_files/Whiskey_Outpost_v2/Whiskey_Outpost_v2.dmm @@ -6689,7 +6689,7 @@ /obj/structure/surface/rack, /obj/item/ammo_box/magazine/m4a3, /obj/item/ammo_box/magazine/m44, -/obj/item/ammo_box/magazine/mod88, +/obj/item/ammo_box/magazine/vp70, /turf/open/floor/prison{ icon_state = "floor_plate" }, diff --git a/maps/map_files/chapaev/chapaev.dmm b/maps/map_files/chapaev/chapaev.dmm index ec03e22945..7e066872a1 100644 --- a/maps/map_files/chapaev/chapaev.dmm +++ b/maps/map_files/chapaev/chapaev.dmm @@ -2686,7 +2686,7 @@ /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, -/obj/item/weapon/gun/shotgun/type23/pve, +/obj/item/weapon/gun/shotgun/type23, /turf/open/floor/strata{ icon_state = "floor2" }, @@ -4735,7 +4735,7 @@ /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, /obj/item/ammo_magazine/handful/shotgun/heavy/buckshot/special, -/obj/item/weapon/gun/shotgun/type23/pve, +/obj/item/weapon/gun/shotgun/type23, /turf/open/floor/strata{ icon_state = "floor2" }, diff --git a/maps/map_files/derelict_almayer/derelict_almayer.dmm b/maps/map_files/derelict_almayer/derelict_almayer.dmm index aeab7ffa35..5b9cb948c1 100644 --- a/maps/map_files/derelict_almayer/derelict_almayer.dmm +++ b/maps/map_files/derelict_almayer/derelict_almayer.dmm @@ -60103,7 +60103,7 @@ dir = 4 }, /obj/structure/surface/table/reinforced/almayer_B, -/obj/item/storage/box/co2_knife{ +/obj/item/storage/box/loadout/co2_knife{ pixel_x = 8; pixel_y = 9 }, diff --git a/maps/map_files/golden_arrow/golden_arrow.dmm b/maps/map_files/golden_arrow/golden_arrow.dmm index 18f231aad2..cae623c242 100644 --- a/maps/map_files/golden_arrow/golden_arrow.dmm +++ b/maps/map_files/golden_arrow/golden_arrow.dmm @@ -541,7 +541,6 @@ }, /obj/item/defenses/handheld/sentry, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; layer = 3.1; pixel_x = 20; pixel_y = 10 @@ -2294,7 +2293,6 @@ "iF" = ( /obj/structure/largecrate/supply/motiondetectors, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; pixel_y = 10 }, /obj/item/ammo_box/magazine/mk1{ @@ -3608,6 +3606,9 @@ /obj/item/ammo_magazine/rifle/m4ra/pve, /obj/item/ammo_magazine/rifle/m4ra/pve, /obj/effect/decal/cleanable/dirt, +/obj/item/weapon/gun/rifle/m4ra/pve{ + pixel_y = 8 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -3937,17 +3938,6 @@ }, /turf/open/floor/plating, /area/golden_arrow/hangar) -"oK" = ( -/obj/item/storage/box/guncase/pumpshotgun/special{ - pixel_y = 4 - }, -/obj/item/storage/box/guncase/flamer/special{ - layer = 3.1; - pixel_y = 10 - }, -/obj/structure/surface/rack, -/turf/open/floor/almayer, -/area/golden_arrow/platoonarmory) "oM" = ( /obj/structure/filingcabinet{ density = 0; @@ -5235,7 +5225,7 @@ /area/golden_arrow/engineering) "tP" = ( /obj/structure/surface/table/almayer, -/obj/item/storage/box/co2_knife{ +/obj/item/storage/box/loadout/co2_knife{ pixel_x = 3; pixel_y = 13 }, @@ -8007,8 +7997,16 @@ "Fe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/surface/table/almayer, -/obj/item/weapon/gun/rifle/m4ra/pve{ - pixel_y = 8 +/obj/item/storage/box/guncase/shotgunpump{ + pixel_y = 17 + }, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_y = 6; + pixel_x = -4 + }, +/obj/item/ammo_magazine/shotgun/buckshot{ + pixel_y = 6; + pixel_x = 6 }, /turf/open/floor/almayer{ icon_state = "plate" @@ -9822,6 +9820,15 @@ }, /turf/open/floor/almayer, /area/golden_arrow/hangar) +"LP" = ( +/obj/item/storage/box/guncase/flamer/special{ + layer = 3.1; + pixel_y = 10 + }, +/obj/structure/surface/rack, +/obj/item/storage/box/guncase/shotguncombat, +/turf/open/floor/almayer, +/area/golden_arrow/platoonarmory) "LQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/pipes/standard/simple/hidden/supply, @@ -24263,7 +24270,7 @@ EG EG EG HZ -oK +LP NU pI Ot @@ -25175,7 +25182,7 @@ EG EG EG HZ -oK +LP pd Jx Ot diff --git a/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm b/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm index ab5d87ee73..8b6ad0c427 100644 --- a/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm +++ b/maps/map_files/golden_arrow_classic/golden_arrow_classic.dmm @@ -533,7 +533,7 @@ pixel_x = 5; pixel_y = 7 }, -/obj/item/storage/box/co2_knife{ +/obj/item/storage/box/loadout/co2_knife{ pixel_x = 3; pixel_y = 13 }, @@ -613,7 +613,7 @@ /area/golden_arrow/prep_hallway) "cV" = ( /obj/structure/surface/table/almayer, -/obj/item/storage/box/guncase/pumpshotgun/special, +/obj/item/storage/box/guncase/shotguncombat, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -4989,7 +4989,7 @@ name = "spent snailshot"; layer = 2.7 }, -/obj/item/storage/box/guncase/pumpshotgun/special, +/obj/item/storage/box/guncase/shotguncombat, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -6236,7 +6236,6 @@ "Kp" = ( /obj/structure/largecrate/supply/motiondetectors, /obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case"; pixel_y = 10; pixel_x = 3 }, @@ -7126,9 +7125,7 @@ }, /area/golden_arrow/cryo_cells) "Pm" = ( -/obj/structure/largecrate/supply/explosives/grenades/less{ - icon_state = "case" - }, +/obj/structure/largecrate/supply/explosives/grenades/less, /obj/structure/largecrate/supply/motiondetectors{ pixel_y = 10 }, diff --git a/maps/map_files/rover/rover.dmm b/maps/map_files/rover/rover.dmm index e672e1b887..fcd21b1f3a 100644 --- a/maps/map_files/rover/rover.dmm +++ b/maps/map_files/rover/rover.dmm @@ -485,13 +485,13 @@ /area/golden_arrow/hangar) "en" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/shotgun/pump/special{ - pixel_y = 10 - }, /obj/structure/machinery/light{ dir = 8 }, -/obj/item/ammo_magazine/shotgun/buckshot/special, +/obj/item/storage/box/guncase/shotguncombat, +/obj/item/storage/box/guncase/shotguncombat{ + pixel_y = 6 + }, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -1136,6 +1136,7 @@ /obj/structure/machinery/light{ dir = 8 }, +/obj/item/weapon/gun/rifle/m4ra/pve, /turf/open/floor/almayer{ icon_state = "plate" }, @@ -4707,7 +4708,6 @@ /area/golden_arrow/dorms) "Uc" = ( /obj/structure/surface/rack, -/obj/item/weapon/gun/rifle/m4ra/pve, /turf/open/floor/almayer{ icon_state = "plate" }, diff --git a/maps/shuttles/ert_shuttle_big.dmm b/maps/shuttles/ert_shuttle_big.dmm index 96fb88a3ea..dcb88ddd2d 100644 --- a/maps/shuttles/ert_shuttle_big.dmm +++ b/maps/shuttles/ert_shuttle_big.dmm @@ -22,11 +22,11 @@ /area/shuttle/ert) "cx" = ( /obj/structure/surface/table/almayer, -/obj/item/weapon/gun/pistol/mod88{ +/obj/item/weapon/gun/pistol/vp70{ pixel_y = 4 }, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, -/obj/item/ammo_magazine/pistol/mod88/normalpoint, +/obj/item/ammo_magazine/pistol/vp70, +/obj/item/ammo_magazine/pistol/vp70, /turf/open/floor/almayer{ icon_state = "plate" }, diff --git a/sound/weapons/gun_88m4_reload.ogg b/sound/weapons/gun_vp70_reload.ogg similarity index 100% rename from sound/weapons/gun_88m4_reload.ogg rename to sound/weapons/gun_vp70_reload.ogg diff --git a/sound/weapons/gun_88m4_unload.ogg b/sound/weapons/gun_vp70_unload.ogg similarity index 100% rename from sound/weapons/gun_88m4_unload.ogg rename to sound/weapons/gun_vp70_unload.ogg diff --git a/sound/weapons/gun_88m4_v7.ogg b/sound/weapons/gun_vp70_v7.ogg similarity index 100% rename from sound/weapons/gun_88m4_v7.ogg rename to sound/weapons/gun_vp70_v7.ogg diff --git a/tgui/packages/tgui/interfaces/OverwatchConsole.jsx b/tgui/packages/tgui/interfaces/OverwatchConsole.jsx index 0c2c4e801c..db9987529e 100644 --- a/tgui/packages/tgui/interfaces/OverwatchConsole.jsx +++ b/tgui/packages/tgui/interfaces/OverwatchConsole.jsx @@ -370,12 +370,13 @@ const SquadMonitor = (props) => { let determine_status_color = (status) => { let conscious = status.includes('Conscious'); + let incapacitated = status.includes('Incapacitated'); let unconscious = status.includes('Unconscious'); let state_color = 'red'; if (conscious) { state_color = 'green'; - } else if (unconscious) { + } else if (incapacitated || unconscious) { state_color = 'yellow'; } return state_color;