Tennis Balls! (and donator stuff) (#5962)

* Donator rainbow stuff and balls!

* Updates code and adds izzy's donator thing

* Adds right click memes!
This commit is contained in:
Michiyamenotehifunana
2018-03-21 08:11:34 +08:00
committed by Poojawa
parent 0d4e7f73f4
commit 61fde978e1
9 changed files with 192 additions and 7 deletions
@@ -0,0 +1,92 @@
/* 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"
alternate_worn_icon = 'modular_citadel/icons/mob/mouthball.dmi'
slot_flags = SLOT_HEAD | SLOT_NECK | SLOT_EARS //Fluff item, put it wherever you want!
throw_range = 14
w_class = WEIGHT_CLASS_SMALL
/obj/item/toy/tennis/pre_altattackby(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!"
@@ -26,6 +26,15 @@
light_color = "#37FFF7"
actions_types = list()
/obj/item/melee/transforming/energy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes
altafterattack(A, user, TRUE, params)
return TRUE
/obj/item/melee/transforming/energy/sword/cx/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] points the tip of [src] at [target].</span>", "<span class='notice'>You point the tip of [src] at [target].</span>")
return TRUE
/obj/item/melee/transforming/energy/sword/cx/transform_weapon(mob/living/user, supress_message_text)
active = !active //I'd use a ..() here but it'd inherit from the regular esword's proc instead, so SPAGHETTI CODE
if(active) //also I'd need to rip out the iconstate changing bits
@@ -120,6 +129,15 @@
var/light_brightness = 3
actions_types = list()
/obj/item/toy/sword/cx/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes
altafterattack(A, user, TRUE, params)
return TRUE
/obj/item/toy/sword/cx/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] points the tip of [src] at [target].</span>", "<span class='notice'>You point the tip of [src] at [target].</span>")
return TRUE
/obj/item/toy/sword/cx/attack_self(mob/user)
active = !( active )
@@ -233,6 +251,16 @@
var/brightness_on = 6 //TWICE AS BRIGHT AS A REGULAR ESWORD
flags_2 = SLOWS_WHILE_IN_HAND_2
/obj/item/twohanded/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes
altafterattack(A, user, TRUE, params)
return TRUE
/obj/item/twohanded/hypereutactic/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] points the tip of [src] at [target].</span>", "<span class='notice'>You point the tip of [src] at [target].</span>")
return TRUE
/obj/item/twohanded/hypereutactic/wield(mob/living/carbon/M) //Specific wield () hulk checks due to reflection chance for balance issues and switches hitsounds.
if(M.has_dna())
if(M.dna.check_mutation(HULK))
@@ -402,4 +430,22 @@
/obj/item/melee/transforming/energy/sword/cx/traitor/transform_messages(mob/living/user, supress_message_text)
playsound(user, active ? 'sound/weapons/saberon.ogg' : 'sound/weapons/saberoff.ogg', 35, 1)
if(!supress_message_text)
to_chat(user, "<span class='notice'>[src] [active ? "is now active":"can now be concealed"].</span>")
to_chat(user, "<span class='notice'>[src] [active ? "is now active":"can now be concealed"].</span>")
//RAINBOW MEMES
/obj/item/twohanded/hypereutactic/toy/rainbow
name = "\improper Hyper-Euclidean Reciprocating Trigonometric Zweihander"
desc = "A custom-built toy with fancy rainbow lights built-in."
flags_2 = NONE
var/list/rainbow_colors = list("#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF","#FF00FF", "#3399ff", "#ff9900", "#fb008b", "#9800ff", "#00ffa3", "#ccff00")
/obj/item/twohanded/hypereutactic/toy/rainbow/process()
. = ..()
var/set_color = pick(rainbow_colors)
light_color = set_color
update_light()
update_icon()
/obj/item/twohanded/hypereutactic/toy/rainbow/AltClick(mob/living/user)
return
@@ -217,6 +217,12 @@
path = /obj/item/clothing/suit/toggle/labcoat/labredblack
ckeywhitelist = list("blakeryan")
/datum/gear/torisword
name = "Rainbow Zweihander"
category = slot_in_backpack
path = /obj/item/twohanded/hypereutactic/toy/rainbow
ckeywhitelist = list("annoymous35")
/datum/gear/darksabre
name = "Dark Sabre"
category = slot_in_backpack
@@ -229,8 +235,14 @@ datum/gear/darksabresheath
path = /obj/item/storage/belt/sabre/darksabre
ckeywhitelist = list("inferno707")
/datum/gear/toriball
name = "Rainbow Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/rainbow
ckeywhitelist = list("annoymous35")
/datum/gear/izzyball
name = "Katlin's Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/rainbow/izzy
ckeywhitelist = list("izzyinbox")
@@ -18,7 +18,42 @@
category = slot_in_backpack
path = /obj/item/toy/plush/slimeplushie
/datum/gear/tennis
name = "Classic Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis
/datum/gear/tennisred
name = "Red Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/red
/datum/gear/tennisyellow
name = "Yellow Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/yellow
/datum/gear/tennisgreen
name = "Green Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/green
/datum/gear/tenniscyan
name = "Cyan Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/cyan
/datum/gear/tennisblue
name = "Blue Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/blue
/datum/gear/tennispurple
name = "Purple Tennis Ball"
category = slot_in_backpack
path = /obj/item/toy/tennis/purple
/datum/gear/dildo
name = "Customizable dildo"
category = slot_in_backpack
path = /obj/item/dildo/custom
path = /obj/item/dildo/custom
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+1 -1
View File
@@ -2586,7 +2586,6 @@
#include "interface\interface.dm"
#include "interface\menu.dm"
#include "interface\stylesheet.dm"
#include "modular_citadel\cit_medkits.dm"
#include "modular_citadel\cit_screenshake.dm"
#include "modular_citadel\cit_turfs.dm"
#include "modular_citadel\citadel_ghostrole_spawners.dm"
@@ -2636,6 +2635,7 @@
#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\impact.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\muzzle.dm"
#include "modular_citadel\code\game\objects\effects\temporary_visuals\projectiles\tracer.dm"
#include "modular_citadel\code\game\objects\items\balls.dm"
#include "modular_citadel\code\game\objects\items\handcuffs.dm"
#include "modular_citadel\code\game\objects\items\holy_weapons.dm"
#include "modular_citadel\code\game\objects\items\stunsword.dm"