Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds sunscreen #570

Merged
merged 30 commits into from
Sep 1, 2024
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
0ced948
actually fixes Volkan's shoulder companions space issue!! for real th…
Constellado Jul 30, 2024
96c5299
Merge branch 'MrMelbert:master' into master
Constellado Aug 2, 2024
a51c4e3
Merge branch 'MrMelbert:master' into master
Constellado Aug 23, 2024
50feca9
Sunscreen has been invented again, but it does nothing... YET
Constellado Aug 23, 2024
997f57d
more than one brand of sunscreen
Constellado Aug 23, 2024
dc6a556
sunscreen with... functionality!!! It lowers burns a teeny bit when a…
Constellado Aug 25, 2024
d539256
sunscreen sprites!!
Constellado Aug 25, 2024
40ef067
minor balance edit
Constellado Aug 25, 2024
413b7d4
more balance
Constellado Aug 25, 2024
af5c801
woopsies! fix that!
Constellado Aug 25, 2024
8858077
OK maybe Volkan's AIs would make the SPF very good. I will think of a…
Constellado Aug 25, 2024
5b5febf
aaaaa
Constellado Aug 25, 2024
3ad316a
variables be annoying sometimes. compiles!!
Constellado Aug 25, 2024
415aa31
Volkan umbrella inventory sprites
Constellado Aug 30, 2024
b4df485
fixes up the sunscreen
Constellado Aug 30, 2024
6301051
we dont need the umbreallas here, umbrella will be separate PR!
Constellado Aug 30, 2024
8139f5a
sunscreen descriptions
Constellado Aug 30, 2024
924962b
more description stuff
Constellado Aug 30, 2024
62eab15
A big woopsie doodles fixed!!
Constellado Aug 30, 2024
3dc033d
turns out seconds need to be divided by 600 instead of 60.
Constellado Aug 30, 2024
39e3929
what's with the checks aa???
Constellado Aug 30, 2024
2ae5a1b
aaaaa
Constellado Aug 30, 2024
3527cff
actually ticked
Constellado Aug 31, 2024
9c24f36
I moved the umbrellas to another branch, removed the two sprites.
Constellado Aug 31, 2024
02fd321
Update maplestation_modules/story_content/volkan_equipment/code/sunit…
Constellado Aug 31, 2024
c37c782
Update maplestation_modules/story_content/volkan_equipment/code/sunit…
Constellado Aug 31, 2024
d307b11
Update maplestation_modules/story_content/volkan_equipment/code/sunit…
Constellado Aug 31, 2024
1537f83
brackett
Constellado Aug 31, 2024
7020713
ok it compiles now.
Constellado Aug 31, 2024
3f4941f
code review thingys
Constellado Aug 31, 2024
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 change: 1 addition & 0 deletions maplestation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -6529,6 +6529,7 @@
#include "maplestation_modules\story_content\shiro_equipment\code\shiroclothing.dm"
#include "maplestation_modules\story_content\story_posters\code\contraband.dm"
#include "maplestation_modules\story_content\stranger_equipment\code\strangerclothing.dm"
#include "maplestation_modules\story_content\volkan_equipment\code\sunitems.dm"
#include "maplestation_modules\story_content\volkan_equipment\code\volkanitems.dm"
#include "maplestation_modules\story_content\volkan_equipment\code\volkanpets.dm"
#include "maplestation_modules\story_content\volkan_equipment\code\volkanpets_ai.dm"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
/*
* # Stuff for the beach!
* Volkan has 0 pigment, so the sun damages him a lot IC.
* His synth avatar also has this flaw, mainly due to the type of synthflesh used. He made it too damn realistic.
* As a result, have items that help with dealing with the sun!
*/

///sunscreen, does nothing for now but is cool for flavor.
/obj/item/sunscreen
name = "generic sunscreen"
desc = "A generic sunscreen product. Cream based application. It is labeled SPF 30"
Constellado marked this conversation as resolved.
Show resolved Hide resolved
w_class = WEIGHT_CLASS_TINY
icon = 'maplestation_modules/story_content/volkan_equipment/icons/sun_items.dmi'
icon_state = "sunscreen_generic"
///How long it takes before sunscreen runs out in minutes
var/reaplication_time = 30
Constellado marked this conversation as resolved.
Show resolved Hide resolved
///The sunscreen's SPF rating.
var/spf = 30
Constellado marked this conversation as resolved.
Show resolved Hide resolved
///how long it takes to apply in seconds
var/application_time = 10
Constellado marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/sunscreen/shitty
name = "cheap generic sunscreen"
desc = "A budget generic sunscreen product. Cream based application. It is labeled SPF 20. It feels like it won't last long."
reaplication_time = 1

spf = 20

/obj/item/sunscreen/nanotrasen
name = "Nanotrasen sunscreen"
desc = "A Nanotrasen sunscreen product. Cream based application. It is labeled SPF 50"
icon_state = "sunscreen_nanotrasen"

spf = 50
application_time = 5

///HaSE has developed a pretty good sunscreen. It doesn't smell too great though.
/obj/item/sunscreen/volkan
name = "strange sunscreen"
desc = "A sunscreen product in a metal container. It seems to have a high SPF rating. It seems to be a spray based application. Smells like industrial chemicals when sprayed."
icon_state = "sunscreen_volkan"

spf = 100
application_time = 1
reaplication_time = 15 //spray based doesn't last as long, plus it's funny to have volkan be applying sunscreen all the time.

/obj/item/sunscreen/attack_self(mob/user)
apply(user, user)
Constellado marked this conversation as resolved.
Show resolved Hide resolved

/obj/item/sunscreen/interact_with_atom(atom/target, mob/living/user)
apply(target, user)
return ..()
Constellado marked this conversation as resolved.
Show resolved Hide resolved

/**
* Applies sunscreen to a mob.
*
* Arguments:
* * target - The mob who we will apply the sunscreen to.
* * user - the mob that is applying the sunscreen.
*/
/obj/item/sunscreen/proc/apply(mob/living/carbon/target, mob/user)
if(!ishuman(target))
return

if(target == user)
user.visible_message(
span_notice("[user] starts to apply [src] on [user.p_them()]self..."),
span_notice("You begin applying [src] on yourself...")
)
else
user.visible_message(
span_notice("[user] starts to apply [src] on [target]."),
span_notice("You begin applying [src] on [target]...")
)
var/obj/item/bodypart/affecting = target.get_bodypart(check_zone(user.zone_selected))

affecting.burn_modifier -= spf/1000

if(do_after(user, application_time SECONDS, user))
addtimer(CALLBACK(src, PROC_REF(loseEffectiveness), target, user), reaplication_time MINUTES)
Constellado marked this conversation as resolved.
Show resolved Hide resolved
user.visible_message(
span_notice("[user] has applied [src] onto [target]."),
to_chat(target, span_notice("You have applied [src]!"))
)

///Stuff that happens when the sunscreen runs out.
/obj/item/sunscreen/proc/loseEffectiveness(mob/living/carbon/target, mob/user)
var/obj/item/bodypart/affecting = target.get_bodypart(check_zone(user.zone_selected))
affecting.burn_modifier += spf/1000
to_chat(target, span_notice("You don't feel the sunscreen anymore."))

Binary file not shown.
Loading