Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,891 changes: 1,112 additions & 779 deletions _maps/map_files/OmegaStation/OmegaStation.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions _maps/omegastation.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
},
"traits": [
{
"Linkage": "Cross",
"Bombcap Multiplier": 0.5
}
],
Expand Down
6 changes: 3 additions & 3 deletions code/datums/skills/firearms.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
title = "Gunner"
blurb = "Did I fire six shots or only five? I lost count."
earned_by = "training at the firing range (or shooting people)"
grants_you = "reduced accuracy penalties when using firearms while wounded"
grants_you = "greater accuracy when using firearms"
modifiers = list(
SKILL_RANDS_MODIFIER = alist(
SKILL_LEVEL_NONE = 5,
Expand All @@ -23,7 +23,7 @@
*
* * max_skill_level - If the firer's skill level is beyond this, no XP is awarded (equal is fine)
*/
/obj/projectile/proc/award_firearms_exp(max_skill_level = SKILL_LEVEL_LEGENDARY)
/obj/projectile/proc/award_firearms_exp(max_skill_level = SKILL_LEVEL_LEGENDARY, notify = FALSE)
if(!isliving(firer))
return
var/mob/living/firer_mob = firer
Expand All @@ -40,4 +40,4 @@
if(xp_gain <= 0)
return
// closer hits give less xp, encourage actually aiming and not standing right by the target
firer_mob.mind.adjust_experience(/datum/skill/firearms, xp_gain * clamp(get_dist(firer, src) / 10, 0.2, 1.2))
firer_mob.mind.adjust_experience(/datum/skill/firearms, xp_gain * clamp(get_dist(firer, src) / 10, 0.2, 1.2), !notify)
2 changes: 1 addition & 1 deletion code/datums/status_effects/debuffs/grabbed.dm
Original file line number Diff line number Diff line change
Expand Up @@ -623,7 +623,7 @@
var/forwards_dir = REVERSE_DIR(grabbing_us.dir)
if(!(hitting_projectile.dir & forwards_dir))
return NONE
if(prob(33 * (owner.mob_size + 1)))
if(!prob(40 * owner.mob_size))
return NONE

owner.bullet_act(hitting_projectile, def_zone, piercing_hit)
Expand Down
6 changes: 3 additions & 3 deletions code/game/objects/items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -849,7 +849,7 @@
SHOULD_CALL_PARENT(TRUE)

if(ishuman(user) && (supports_variations_flags & CLOTHING_DIGITIGRADE_FILTER) && (slot & slot_flags))
RegisterSignal(user, COMSIG_ATOM_DIR_CHANGE, PROC_REF(update_dir), override = TRUE)
RegisterSignal(user, COMSIG_ATOM_POST_DIR_CHANGE, PROC_REF(update_dir), override = TRUE)
return TRUE

/**
Expand Down Expand Up @@ -1861,8 +1861,8 @@
/// TODO: make this its own thing (/datum/advanced_filter)
/obj/item/proc/update_dir(mob/living/carbon/human/source, dir, newdir)
SIGNAL_HANDLER
// if(dir == newdir)
// return
if(dir == newdir)
return
if(!istype(source) || !(source.bodyshape & BODYSHAPE_DIGITIGRADE))
return

Expand Down
14 changes: 11 additions & 3 deletions code/game/objects/items/devices/scanners/gas_analyzer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
var/barometer_accuracy
/// Cached gasmix data from ui_interact
var/list/last_gasmix_data

var/datum/weakref/last_scanned
/// Max scan distance
var/ranged_scan_distance = 1

Expand Down Expand Up @@ -132,15 +134,20 @@
return return_atmos_handbooks()

/obj/item/analyzer/ui_data(mob/user)
LAZYINITLIST(last_gasmix_data)
return list("gasmixes" = last_gasmix_data)
var/obj/item/last_scanned_real = last_scanned?.resolve()
if(!QDELETED(last_scanned_real) && can_see(user, last_scanned_real, ranged_scan_distance))
on_analyze(src, last_scanned_real) // updates last_gasmix_data as long as we're in range

return list(
"gasmixes" = last_gasmix_data || list(),
)

/obj/item/analyzer/attack_self(mob/user, modifiers)
if(user.stat != CONSCIOUS || !user.can_read(src) || user.is_blind())
return
var/lowest_obj = ismob(loc) ? loc.loc : loc
atmos_scan(user = user, target = lowest_obj, silent = FALSE)
on_analyze(source = src, target = lowest_obj)
on_analyze(src, lowest_obj)

/obj/item/analyzer/attack_self_secondary(mob/user, modifiers)
if(user.stat != CONSCIOUS || !user.can_read(src) || user.is_blind())
Expand Down Expand Up @@ -170,6 +177,7 @@
mix_name += " - Node [airs.Find(air)]"
new_gasmix_data += list(gas_mixture_parser(air, mix_name))
last_gasmix_data = new_gasmix_data
last_scanned = WEAKREF(target)

/**
* Outputs a message to the user describing the target's gasmixes.
Expand Down
2 changes: 1 addition & 1 deletion code/game/objects/items/shooting_range.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
var/is_generic_projectile = !is_type_in_typecache(hitting_projectile, always_leave_marks)
if(is_generic_projectile && (is_invalid_damage || is_safe))
return ..() // Don't bother unless it's real shit
hitting_projectile.award_firearms_exp(SKILL_LEVEL_JOURNEYMAN)
hitting_projectile.award_firearms_exp(SKILL_LEVEL_JOURNEYMAN, notify = TRUE)
if(prob(25))
return ..() // RNG change to just not leave a mark, like walls
if(length(overlays) > 35)
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/suits/bio.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
strip_delay = 70
equip_delay_other = 70
resistance_flags = ACID_PROOF
supports_variations_flags = CLOTHING_DIGITIGRADE_MASK
var/texture_type = /datum/bodypart_overlay/texture/mesh/biosuit

/obj/item/clothing/suit/bio_suit/Initialize(mapload)
Expand Down
1 change: 1 addition & 0 deletions code/modules/clothing/suits/utility.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,7 @@
equip_delay_other = 60
flags_inv = HIDEJUMPSUIT
resistance_flags = NONE
supports_variations_flags = CLOTHING_DIGITIGRADE_MASK

/obj/item/clothing/suit/utility/radiation/Initialize(mapload)
. = ..()
Expand Down
8 changes: 5 additions & 3 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -476,10 +476,12 @@
var/hit_prob = max(100 - (7 * distance), 5)
if(who_is_shot.body_position == LYING_DOWN)
hit_prob *= 1.2
if(isliving(firer))
var/mob/living/firer_living = firer
hit_prob -= firer_living.get_skill_modifier(/datum/skill/firearms, SKILL_RANDS_MODIFIER)
// if nothing bothered to set a zone we need a random one
if(isnull(def_zone))
def_zone = who_is_shot.get_random_valid_zone(BODY_ZONE_CHEST, min(80, hit_prob))
// melbert todo : make people more skilled with weapons have a lower miss chance
def_zone ||= who_is_shot.get_random_valid_zone(BODY_ZONE_CHEST, min(80, hit_prob))
// then we check for if we hit the zone, or another random one (even if the zone was ALREADY randomly selected)
if(!prob(hit_prob))
def_zone = who_is_shot.get_random_valid_zone(def_zone, 0)
grazing = !prob(hit_prob) // jeez you missed twice? that's a graze
Expand Down
11 changes: 10 additions & 1 deletion maplestation_modules/code/game/objects/items/ashtray.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
w_class = WEIGHT_CLASS_SMALL
drop_sound = /obj/item/plate::drop_sound
pickup_sound = /obj/item/plate::pickup_sound
/// Tracks REFs to cigbutts that have been dumped out of this ashtray, so they can't be dumped out again
VAR_PRIVATE/list/tracked_butts

/obj/item/ashtray/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -145,10 +147,16 @@
var/total_butts = 0
var/atom/drop_loc = drop_location()
for(var/obj/item/cigbutt/butt in src)
total_butts += 1
var/butt_key = REF(butt)
if(!LAZYFIND(tracked_butts, butt_key))
LAZYADD(tracked_butts, butt_key)
total_butts += 1

butt.forceMove(drop_loc)
butt.pixel_x = rand(-2, 2)
butt.pixel_y = rand(-2, 2)


if(total_butts > 12)
for(var/i in 1 to ceil(total_butts / 12))
var/obj/effect/decal/cleanable/ash/large/ash = new(drop_loc)
Expand All @@ -159,6 +167,7 @@
var/obj/effect/decal/cleanable/ash/ash = new(drop_loc)
ash.pixel_x = rand(-4, 4)
ash.pixel_y = rand(-4, 4)

for(var/obj/item/whatever_left in src)
whatever_left.forceMove(drop_loc)

Expand Down
Binary file modified maplestation_modules/icons/mob/tails.dmi
Binary file not shown.
Loading