Merge remote-tracking branch 'origin/master' into perlin-genny

This commit is contained in:
LetterN
2021-03-24 21:55:47 +08:00
99 changed files with 103500 additions and 102174 deletions
-92
View File
@@ -1,92 +0,0 @@
/* BALLS - GLORIOUS BALLS
//
// Includes:-
// 1) Tennis balls, lines 10 - 92
//
//
//
*/
/obj/item/toy/tennis
name = "tennis ball"
desc = "A classical tennis ball. It appears to have faint bite marks scattered all over its surface."
icon = 'modular_citadel/icons/obj/balls.dmi'
icon_state = "tennis_classic"
lefthand_file = 'modular_citadel/icons/mob/inhands/balls_left.dmi'
righthand_file = 'modular_citadel/icons/mob/inhands/balls_right.dmi'
item_state = "tennis_classic"
mob_overlay_icon = 'modular_citadel/icons/mob/mouthball.dmi'
slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS //Fluff item, put it wherever you want!
throw_range = 14
w_class = WEIGHT_CLASS_SMALL
/obj/item/toy/tennis/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes
altafterattack(A, user, TRUE, params)
return TRUE
/obj/item/toy/tennis/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes
if(istype(user))
user.visible_message("<span class='notice'>[user] waggles [src] at [target].</span>", "<span class='notice'>You waggle [src] at [target].</span>")
return TRUE
/obj/item/toy/tennis/rainbow
name = "pseudo-euclidean interdimensional tennis sphere"
desc = "A tennis ball from another plane of existance. Really groovy."
icon_state = "tennis_rainbow"
item_state = "tennis_rainbow"
actions_types = list(/datum/action/item_action/squeeze) //Giving the masses easy access to unilimted honks would be annoying
/obj/item/toy/tennis/rainbow/Initialize()
. = ..()
AddComponent(/datum/component/squeak)
/obj/item/toy/tennis/rainbow/izzy //izzyinbox's donator item
name = "Katlin's Ball"
desc = "A tennis ball that's seen a good bit of love, being covered in a few black and white hairs and slobber."
icon_state = "tennis_izzy"
item_state = "tennis_izzy"
/obj/item/toy/tennis/red //da red wuns go fasta
name = "red tennis ball"
desc = "A red tennis ball. It goes three times faster!"
icon_state = "tennis_red"
item_state = "tennis_red"
throw_speed = 9
/obj/item/toy/tennis/yellow //because yellow is hot I guess
name = "yellow tennis ball"
desc = "A yellow tennis ball. It seems to have a flame-retardant coating."
icon_state = "tennis_yellow"
item_state = "tennis_yellow"
resistance_flags = FIRE_PROOF
/obj/item/toy/tennis/green //pestilence
name = "green tennis ball"
desc = "A green tennis ball. It seems to have an impermeable coating."
icon_state = "tennis_green"
item_state = "tennis_green"
permeability_coefficient = 0.9
/obj/item/toy/tennis/cyan //electric
name = "cyan tennis ball"
desc = "A cyan tennis ball. It seems to have odd electrical properties."
icon_state = "tennis_cyan"
item_state = "tennis_cyan"
siemens_coefficient = 0.9
/obj/item/toy/tennis/blue //reliability
name = "blue tennis ball"
desc = "A blue tennis ball. It seems ever so slightly more robust than normal."
icon_state = "tennis_blue"
item_state = "tennis_blue"
max_integrity = 300
/obj/item/toy/tennis/purple //because purple dyes have high pH and would neutralize acids I guess
name = "purple tennis ball"
desc = "A purple tennis ball. It seems to have an acid-resistant coating."
icon_state = "tennis_purple"
item_state = "tennis_purple"
resistance_flags = ACID_PROOF
/datum/action/item_action/squeeze
name = "Squeak!"
@@ -549,6 +549,7 @@
contraband = TRUE
obj_flags |= EMAGGED
to_chat(user, "<span class='notice'>You adjust [src]'s routing and receiver spectrum, unlocking special supplies and contraband.</span>")
return TRUE
/obj/item/circuitboard/computer/cargo/configure_machine(obj/machinery/computer/cargo/machine)
if(!istype(machine))
@@ -565,10 +566,12 @@
build_path = /obj/machinery/computer/cargo/express
/obj/item/circuitboard/computer/cargo/express/emag_act(mob/living/user)
. = ..()
if(!(obj_flags & EMAGGED))
contraband = TRUE
obj_flags |= EMAGGED
to_chat(user, "<span class='notice'>You change the routing protocols, allowing the Drop Pod to land anywhere on the station.</span>")
return TRUE
/obj/item/circuitboard/computer/cargo/express/multitool_act(mob/living/user)
if (!(obj_flags & EMAGGED))
@@ -472,7 +472,7 @@
build_path = /obj/machinery/holopad
secure = FALSE
else
build_path = /obj/machinery/holopad //secure
build_path = /obj/machinery/holopad/secure //secure
secure = TRUE
to_chat(user, "<span class='notice'>You [secure? "en" : "dis"]able the security on the [src]</span>")
. = ..()
@@ -609,6 +609,7 @@
/obj/machinery/vending/cigarette = "ShadyCigs Deluxe",
/obj/machinery/vending/games = "\improper Good Clean Fun",
/obj/machinery/vending/kink = "KinkMate",
/obj/machinery/vending/barkbox = "Bark Box",
/obj/machinery/vending/autodrobe = "AutoDrobe",
/obj/machinery/vending/wardrobe/sec_wardrobe = "SecDrobe",
/obj/machinery/vending/wardrobe/det_wardrobe = "DetDrobe",
+160
View File
@@ -0,0 +1,160 @@
/* Balls, Bones, and Bountiful Fun
//
// Includes:-
// 1) Fluff Content, lines 12 - 131
//
// 1) Tennis balls, lines 39 - 99
// 2) Chew bones, lines 101 - 138
// 3) Frisbee, lines 140 - 166
*/
/obj/item/toy/fluff
name = "Fluff Item"
desc = "You shouldn't be seeing this."
icon = 'icons/obj/barkbox_fluff.dmi'
icon_state = "poly_tennis"
item_state = "poly_tennis"
lefthand_file = 'icons/mob/inhands/fluff_lefthand.dmi'
righthand_file = 'icons/mob/inhands/fluff_righthand.dmi'
mob_overlay_icon = 'icons/mob/mouthfluff.dmi'
slot_flags = ITEM_SLOT_HEAD | ITEM_SLOT_NECK | ITEM_SLOT_EARS
var/poly_states = 0
var/poly_colors = list()
/obj/item/toy/fluff/alt_pre_attack(atom/A, mob/living/user, params) //checks if it can do right click memes
altafterattack(A, user, TRUE, params)
return TRUE
/obj/item/toy/fluff/altafterattack(atom/target, mob/living/carbon/user, proximity_flag, click_parameters) //does right click memes
if(istype(user))
user.visible_message("<span class='notice'>[user] waggles [src] at [target].</span>", "<span class='notice'>You waggle [src] at [target].</span>")
return TRUE
/obj/item/toy/fluff/ComponentInitialize()
. = ..()
if(!poly_states)
return
AddElement(/datum/element/polychromic, poly_colors, poly_states, _flags = POLYCHROMIC_ACTION)
/obj/item/toy/fluff/tennis_poly
name = "polychromic tennis ball"
desc = "A polychromic tennis ball. There's a half torn tag read: WARNIN-, surely it means nothing. Right?"
throw_range = 14
w_class = WEIGHT_CLASS_SMALL
poly_states = 2
poly_colors = list("#CCFF00", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/red
poly_colors = list("#FF4C00", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/yellow
poly_colors = list("#FFCC00", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/green
poly_colors = list("#99FF00", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/cyan
poly_colors = list("#00FFB2", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/blue
poly_colors = list("#007FFF", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/purple
poly_colors = list("#CC00FF", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/tri
name = "tricolor-polychromic tennis ball"
desc = "A tricolor-polychromic tennis ball. Triple the shocking!"
icon_state = "tripoly_tennis"
item_state = "tripoly_tennis"
poly_states = 3
poly_colors = list("#FFFFFF", "#FFFFFF", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/tri/squeak
name = "tricolor-polychromic tennis sphere"
desc = "A tricolor-polychromic tennis ball. This one seems to emit a squeak when squeezed."
actions_types = list(/datum/action/item_action/squeeze)
/obj/item/toy/fluff/tennis_poly/tri/squeak/izzy //izzyinbox's donator item
name = "Katlin's Ball"
desc = "A tennis ball that's seen a good bit of love, being covered in a few black and white hairs and slobber."
poly_colors = list("#8FED56", "#51cfde", "#FFFFFF")
/obj/item/toy/fluff/tennis_poly/tri/squeak/rainbow
name = "pseudo-euclidean interdimensional tennis sphere"
desc = "A tennis ball from another plane of existance. Really groovy."
icon_state = "tennis_rainbow"
item_state = "tennis_rainbow"
poly_states = 0
actions_types = list(/datum/action/item_action/squeeze)
/obj/item/toy/fluff/tennis_poly/tri/squeak/Initialize()
. = ..()
AddComponent(/datum/component/squeak)
/obj/item/toy/fluff/bone_poly
name = "polychromic bone"
desc = "A polychromic chew bone. Nothing like a good bone to chew on."
icon_state = "poly_bone"
item_state = "poly_bone"
throw_range = 7
w_class = WEIGHT_CLASS_SMALL
poly_states = 1
poly_colors = list("#FFFFFF")
/obj/item/toy/fluff/bone_poly/red
poly_colors = list("#FF4C00")
/obj/item/toy/fluff/bone_poly/yellow
poly_colors = list("#FFCC00")
/obj/item/toy/fluff/bone_poly/green
poly_colors = list("#99FF00")
/obj/item/toy/fluff/bone_poly/cyan
poly_colors = list("#00FFB2")
/obj/item/toy/fluff/bone_poly/blue
poly_colors = list("#007FFF")
/obj/item/toy/fluff/bone_poly/purple
poly_colors = list("#CC00FF")
/obj/item/toy/fluff/bone_poly/squeak
name = "polychromic bone"
desc = "A polychromic chew bone. Makes a small squeak when squeezed."
/obj/item/toy/fluff/bone_poly/squeak/Initialize()
. = ..()
AddComponent(/datum/component/squeak)
/datum/action/item_action/squeeze
name = "Squeak!"
/obj/item/toy/fluff/frisbee_poly
name = "polychromic frisbee"
desc = "A polychromic frisbee. Warning: May induce shock."
icon_state = "poly_frisbee"
item_state = "poly_frisbee"
throw_range = 14
w_class = WEIGHT_CLASS_NORMAL
poly_states = 2
poly_colors = list("#CCFF00", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/red
poly_colors = list("#FF4C00", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/yellow
poly_colors = list("#FFCC00", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/green
poly_colors = list("#99FF00", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/cyan
poly_colors = list("#00FFB2", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/blue
poly_colors = list("#007FFF", "#FFFFFF")
/obj/item/toy/fluff/frisbee_poly/purple
poly_colors = list("#CC00FF", "#FFFFFF")
+2 -2
View File
@@ -459,8 +459,8 @@
/obj/item/stack/AltClick(mob/living/user)
. = ..()
if(isturf(loc)) // to prevent people that are alt clicking a tile to see its content from getting undesidered pop ups
return
// if(isturf(loc)) // to prevent people that are alt clicking a tile to see its content from getting undesidered pop ups
// return
if(is_cyborg || !user.canUseTopic(src, BE_CLOSE, TRUE, FALSE) || zero_amount()) //, !iscyborg(user)
return
//get amount from user
+14
View File
@@ -435,6 +435,20 @@
STR.max_items = 6
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/nugget))
/obj/item/storage/fancy/treat_box
name = "treat box"
desc = "A cardboard box used for holding dog treats."
icon = 'icons/obj/food/containers.dmi'
icon_state = "treatbox"
icon_type = "treat"
spawn_type = /obj/item/reagent_containers/food/snacks/dogtreat
/obj/item/storage/fancy/treat_box/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
STR.max_items = 6
STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/dogtreat))
/obj/item/storage/fancy/cracker_pack
name = "cracker pack"
desc = "A pack of delicious crackers. Keep away from parrots!"
+2 -2
View File
@@ -15,7 +15,7 @@
var/datum/effect_system/trail_follow/ion/ion_trail
/obj/item/tank/jetpack/Initialize()
..()
. = ..()
ion_trail = new
ion_trail.set_up(src)
@@ -88,7 +88,7 @@
return TRUE
/obj/item/tank/jetpack/suicide_act(mob/user)
if (istype(user, /mob/living/carbon/human/))
if (ishuman(user))
var/mob/living/carbon/human/H = user
H.forcesay("WHAT THE FUCK IS CARBON DIOXIDE?")
H.visible_message("<span class='suicide'>[user] is suffocating [user.p_them()]self with [src]! It looks like [user.p_they()] didn't read what that jetpack says!</span>")