Skip to content

Commit 242553e

Browse files
Merge branch 'staging' of github.com:NebulaSS13/Nebula into devupdate
2 parents 6425023 + 7384b4a commit 242553e

File tree

53 files changed

+229
-129
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+229
-129
lines changed

code/__defines/math_physics.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
#define TICKS_IN_SECOND 10
3636

3737
#if DM_VERSION < 516
38-
#define SIGN(X) ((X) < 0 ? -1 : 1)
38+
#define SIGN(X) ( (X) ? ( (X) < 0 ? -1 : 1 ) : 0 )
3939
#else
4040
#define SIGN(X) sign(X)
4141
#endif

code/datums/supplypacks/nonessent.dm

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515
/obj/item/camera,
1616
/obj/item/camera_film = 2,
1717
/obj/item/photo_album,
18-
/obj/item/chems/glass/paint/red,
19-
/obj/item/chems/glass/paint/green,
20-
/obj/item/chems/glass/paint/blue,
21-
/obj/item/chems/glass/paint/yellow,
22-
/obj/item/chems/glass/paint/purple,
23-
/obj/item/chems/glass/paint/black,
24-
/obj/item/chems/glass/paint/white,
18+
/obj/item/chems/glass/bucket/paint/red,
19+
/obj/item/chems/glass/bucket/paint/green,
20+
/obj/item/chems/glass/bucket/paint/blue,
21+
/obj/item/chems/glass/bucket/paint/yellow,
22+
/obj/item/chems/glass/bucket/paint/purple,
23+
/obj/item/chems/glass/bucket/paint/black,
24+
/obj/item/chems/glass/bucket/paint/white,
2525
/obj/item/poster,
2626
/obj/item/stack/package_wrap/fifty = 2,
2727
/obj/item/stack/package_wrap/gift/fifty = 2

code/game/objects/items/stacks/stack.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,8 @@
473473
/// Returns the string describing an amount of the stack, i.e. "an ingot" vs "a flag"
474474
/obj/item/stack/proc/get_string_for_amount(amount)
475475
if(amount == 1)
476+
if(gender == PLURAL)
477+
return "some [singular_name]"
476478
return indefinite_article ? "[indefinite_article] [singular_name]" : ADD_ARTICLE(singular_name)
477479
return "[amount] [plural_name]"
478480

code/game/objects/items/stacks/tiles/tile_types.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
item_flags = 0
2222
obj_flags = 0
2323
_base_attack_force = 1
24-
var/replacement_turf_type = /turf/floor
24+
var/replacement_turf_type = /turf/floor/plating
2525

2626
/obj/item/stack/tile/proc/try_build_turf(var/mob/user, var/turf/target)
2727

code/game/objects/items/waterskin.dm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
update_icon()
3838
return TRUE
3939

40-
/obj/item/chems/glass/waterskin/on_update_icon() // TODO: filled/empty sprites
40+
// TODO: filled/empty sprites
41+
/obj/item/chems/glass/waterskin/update_overlays()
4142
. = ..() // cuts overlays
4243
var/image/stopper_overlay = get_stopper_overlay()
4344
if(stopper_overlay)

code/game/objects/items/weapons/RCD.dm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@
302302
cost = 9
303303
delay = 2 SECONDS
304304
handles_type = /turf/wall
305-
work_type = /turf/floor
305+
work_type = /turf/floor/plating
306306

307307
/decl/hierarchy/rcd_mode/deconstruction/wall/can_handle_work(var/obj/item/rcd/rcd, var/turf/wall/target)
308308
return ..() && (rcd.canRwall || !target.reinf_material)
Lines changed: 14 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,58 @@
1-
//NEVER USE THIS IT SUX -PETETHEGOAT
2-
//THE GOAT WAS RIGHT - RKF
3-
4-
/obj/item/chems/glass/paint
5-
desc = "It's a paint bucket."
1+
/obj/item/chems/glass/bucket/paint
62
name = "paint bucket"
3+
desc = "It's a paint bucket."
74
icon = 'icons/obj/items/paint_bucket.dmi'
8-
icon_state = "paintbucket"
9-
item_state = "paintcan"
105
material = /decl/material/solid/metal/aluminium
116
w_class = ITEM_SIZE_NORMAL
127
amount_per_transfer_from_this = 10
138
possible_transfer_amounts = @"[10,20,30,60]"
149
volume = 60
15-
atom_flags = ATOM_FLAG_OPEN_CONTAINER
1610
var/pigment
1711

18-
/obj/item/chems/glass/paint/populate_reagents()
12+
/obj/item/chems/glass/bucket/paint/populate_reagents()
1913
var/amt = reagents.maximum_volume
2014
if(pigment)
2115
amt = round(amt/2)
2216
add_to_reagents(pigment, amt)
2317
add_to_reagents(/decl/material/liquid/paint, amt)
2418

25-
/obj/item/chems/glass/paint/get_edible_material_amount(mob/eater)
19+
/obj/item/chems/glass/bucket/paint/get_edible_material_amount(mob/eater)
2620
return 0
2721

28-
/obj/item/chems/glass/paint/get_utensil_food_type()
22+
/obj/item/chems/glass/bucket/paint/get_utensil_food_type()
2923
return null
3024

31-
/obj/item/chems/glass/paint/on_update_icon()
32-
. = ..()
33-
if(reagents?.total_volume)
34-
add_overlay(overlay_image('icons/obj/reagentfillings.dmi', "paintbucket", reagents.get_color()))
35-
36-
/obj/item/chems/glass/paint/red
25+
/obj/item/chems/glass/bucket/paint/red
3726
name = "red paint bucket"
3827
pigment = /decl/material/liquid/pigment/red
3928

40-
/obj/item/chems/glass/paint/yellow
29+
/obj/item/chems/glass/bucket/paint/yellow
4130
name = "yellow paint bucket"
4231
pigment = /decl/material/liquid/pigment/yellow
4332

44-
/obj/item/chems/glass/paint/green
33+
/obj/item/chems/glass/bucket/paint/green
4534
name = "green paint bucket"
4635
pigment = /decl/material/liquid/pigment/green
4736

48-
/obj/item/chems/glass/paint/blue
37+
/obj/item/chems/glass/bucket/paint/blue
4938
name = "blue paint bucket"
5039
pigment = /decl/material/liquid/pigment/blue
5140

52-
/obj/item/chems/glass/paint/purple
41+
/obj/item/chems/glass/bucket/paint/purple
5342
name = "purple paint bucket"
5443
pigment = /decl/material/liquid/pigment/purple
5544

56-
/obj/item/chems/glass/paint/black
45+
/obj/item/chems/glass/bucket/paint/black
5746
name = "black paint bucket"
5847
pigment = /decl/material/liquid/pigment/black
5948

60-
/obj/item/chems/glass/paint/white
49+
/obj/item/chems/glass/bucket/paint/white
6150
name = "white paint bucket"
6251
pigment = /decl/material/liquid/pigment/white
6352

64-
/obj/item/chems/glass/paint/random
53+
/obj/item/chems/glass/bucket/paint/random
6554
name = "odd paint bucket"
6655

67-
/obj/item/chems/glass/paint/random/Initialize()
56+
/obj/item/chems/glass/bucket/paint/random/Initialize()
6857
pigment = pick(decls_repository.get_decl_paths_of_subtype(/decl/material/liquid/pigment))
6958
. = ..()

code/game/objects/items/welding/weldbackpack.dm

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -62,15 +62,35 @@
6262
//Welder Pack
6363
////////////////////////////////////////////////////////////
6464
/obj/item/chems/weldpack
65-
name = "welding kit"
66-
desc = "An unwieldy, heavy backpack with two massive fuel tanks. Comes with an attached welder gun."
67-
icon = 'icons/obj/items/welderpack.dmi'
68-
icon_state = ICON_STATE_WORLD
69-
slot_flags = SLOT_BACK
70-
w_class = ITEM_SIZE_HUGE
71-
volume = 350
65+
name = "welding kit"
66+
desc = "An unwieldy, heavy backpack with two massive fuel tanks. Comes with an attached welder gun."
67+
icon = 'icons/obj/items/welderpack.dmi'
68+
icon_state = ICON_STATE_WORLD
69+
slot_flags = SLOT_BACK
70+
w_class = ITEM_SIZE_HUGE
71+
atom_flags = ATOM_FLAG_OPEN_CONTAINER
72+
volume = 350
7273
var/obj/item/weldingtool/weldpack/welder = /obj/item/weldingtool/weldpack
7374

75+
// Duplicated from welder tanks.
76+
/obj/item/chems/weldpack/afterattack(obj/O, mob/user, proximity, click_parameters)
77+
if (!ATOM_IS_OPEN_CONTAINER(src) || !proximity)
78+
return
79+
if(standard_dispenser_refill(user, O))
80+
return TRUE
81+
if(standard_pour_into(user, O))
82+
return TRUE
83+
if(handle_eaten_by_mob(user, O) != EATEN_INVALID)
84+
return TRUE
85+
if(user.check_intent(I_FLAG_HARM))
86+
if(standard_splash_mob(user, O))
87+
return TRUE
88+
if(reagents && reagents.total_volume)
89+
to_chat(user, SPAN_DANGER("You splash the contents of \the [src] onto \the [O]."))
90+
reagents.splash(O, reagents.total_volume)
91+
return TRUE
92+
return ..()
93+
7494
/obj/item/chems/weldpack/populate_reagents()
7595
add_to_reagents(/decl/material/liquid/fuel, reagents.maximum_volume)
7696

@@ -85,35 +105,43 @@
85105
QDEL_NULL(welder)
86106
. = ..()
87107

88-
/obj/item/chems/weldpack/attackby(obj/item/W, mob/user)
89-
if(W.isflamesource() && get_fuel() && W.get_heat() >= 700 && prob(50))
108+
/obj/item/chems/weldpack/attackby(obj/item/used_item, mob/user)
109+
110+
if(used_item.isflamesource() && get_fuel() && used_item.get_heat() >= 700 && prob(50))
90111
playsound(src, 'sound/items/Welder2.ogg', 90, TRUE)
91112
try_detonate_reagents()
92113
log_and_message_admins("triggered a fueltank explosion.", user)
93114
return TRUE
94115

95-
if(IS_WELDER(W))
96-
var/obj/item/weldingtool/T = W
97-
if(T.welding)
116+
if(IS_WELDER(used_item))
117+
var/obj/item/weldingtool/tool = used_item
118+
if(tool.welding)
98119
var/decl/pronouns/pronouns = user.get_pronouns()
99120
user.visible_message(
100-
SPAN_DANGER("\The [user] singes [pronouns.his] [name] with [pronouns.his] [W.name]!"),
101-
SPAN_DANGER("You singed your [name] with your [W.name]!")
121+
SPAN_DANGER("\The [user] singes [pronouns.his] [name] with [pronouns.his] [used_item.name]!"),
122+
SPAN_DANGER("You singed your [name] with your [used_item.name]!")
102123
)
103124

104-
if(W == welder)
125+
if(used_item == welder)
105126
return reattach_gun(user)
106-
if(!T.tank)
107-
to_chat(user, "\The [T] has no tank attached!")
108-
reagents.trans_to_obj(T.tank, T.tank.reagents.maximum_volume)
109-
to_chat(user, SPAN_NOTICE("You refuel \the [W]."))
127+
if(!tool.tank)
128+
to_chat(user, SPAN_WARNING("\The [tool] has no tank attached!"))
129+
return TRUE
130+
if(!reagents?.total_volume)
131+
to_chat(user, SPAN_WARNING("\The [src] is empty!"))
132+
return TRUE
133+
reagents.trans_to_obj(tool.tank, tool.tank.reagents.maximum_volume)
134+
to_chat(user, SPAN_NOTICE("You refuel \the [used_item]."))
110135
playsound(src, 'sound/effects/refill.ogg', 50, TRUE, -6)
111136
return TRUE
112137

113-
else if(istype(W, /obj/item/chems/welder_tank))
114-
var/obj/item/chems/welder_tank/tank = W
138+
else if(istype(used_item, /obj/item/chems/welder_tank))
139+
if(!reagents?.total_volume)
140+
to_chat(user, SPAN_WARNING("\The [src] is empty!"))
141+
return TRUE
142+
var/obj/item/chems/welder_tank/tank = used_item
115143
reagents.trans_to_obj(tank, tank.reagents.maximum_volume)
116-
to_chat(user, SPAN_NOTICE("You refuel \the [W]."))
144+
to_chat(user, SPAN_NOTICE("You refuel \the [used_item]."))
117145
playsound(src, 'sound/effects/refill.ogg', 50, TRUE, -6)
118146
return TRUE
119147

code/game/objects/structures/__structure.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
reinf_material = GET_DECL(reinf_material)
6666
. = ..()
6767
update_materials()
68+
paint_verb ||= "painted" // fallback for the case of no material
6869
if(lock && !istype(loc))
6970
lock = new /datum/lock(src, lock)
7071
if(!CanFluidPass())

code/modules/crafting/stack_recipes/recipes_bricks.dm

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@
129129
/decl/stack_recipe/turfs/floor/brick
130130
name = "cobblestone path"
131131
result_type = /turf/floor/path
132+
expected_product_type = /turf/floor/path
132133
craft_stack_types = /obj/item/stack/material/brick
133134

134135
/decl/stack_recipe/turfs/floor/brick/herringbone

0 commit comments

Comments
 (0)