restaurant + random tweaks

- more details to fast food (radio tower, extra items, trash asteroid, floor decals)
- changed some job presets to include certain items or names (restaurant guys get IDs and radios now for instance)
- moved some code for convenience
- ATVs are now faster, scooters are slower
This commit is contained in:
evilew
2024-03-07 15:25:13 +01:00
parent e5e402d5ea
commit dc64540938
9 changed files with 276 additions and 197 deletions
+13 -5
View File
@@ -643,14 +643,17 @@
var/arrpee = rand(1,3)
switch(arrpee)
if(1)
flavour_text += "You are this restaurant's manager, taking care of all the necessary paperwork, overseeing all the workers...\
flavour_text += "You are this restaurant's manager, taking care of all the necessary paperwork, overseeing all the workers... \
But most importantly, you always have to make sure that the restaurant prospers and remains in good shape! "
outfit.glasses = /obj/item/clothing/glasses/sunglasses/reagent
outfit.uniform = /obj/item/clothing/under/suit_jacket/burgundy
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack/satchel/leather
outfit.ears = /obj/item/radio/headset
outfit.id = /obj/item/card/id/silver
if(2)
flavour_text += "You are this restaurant's cook, using up the plethora of ingredients to cook up deliciously greasy and caloric foods.\
flavour_text += "You are this restaurant's cook, using up the plethora of ingredients to cook up deliciously greasy and caloric foods. \
The kitchen and the bar is your turf! Make sure the guests stay fed."
outfit.glasses = /obj/item/clothing/glasses/sunglasses/reagent
outfit.head = /obj/item/clothing/head/soft/black
@@ -658,13 +661,17 @@
outfit.suit = /obj/item/clothing/suit/apron/chef
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack
outfit.ears = /obj/item/radio/headset
outfit.id = /obj/item/card/id/silver
if(3)
flavour_text += "You are this restaurant's waiter, responsible not only for tending to the guests, but also fixing and taking care of station's shape, power and looks.\
flavour_text += "You are this restaurant's waiter, responsible not only for tending to the guests, but also fixing and taking care of station's shape, power and looks. \
Make sure everything looks squeaky clean and that the restaurant remains powered!"
outfit.head = /obj/item/clothing/head/soft/black
outfit.uniform = /obj/item/clothing/under/waiter
outfit.shoes = /obj/item/clothing/shoes/sneakers/black
outfit.back = /obj/item/storage/backpack
outfit.ears = /obj/item/radio/headset
outfit.id = /obj/item/card/id/silver
/obj/effect/mob_spawn/human/fastfood/special(mob/living/carbon/human/new_spawn)
ADD_TRAIT(new_spawn,TRAIT_EXEMPT_HEALTH_EVENTS,GHOSTROLE_TRAIT)
@@ -680,7 +687,7 @@
name = "Sleeper pod"
desc = "Through the red glass, you can see someone sleeping inside..."
mob_name = "fanatical feeder"
job_description = "Fanatical degenerate"
job_description = "Den's Feeder"
short_desc = "You are a member of a niche branch of Syndicate with... strange goals."
flavour_text = "After months of construction and gathering equipment, your den is finished - a monument to gluttony, equipped with every tool to turn any sharp body into a quivering mound of lard..."
important_info = "Keep your den in one piece and away from curious eyes! YOU AREN'T ALLOWED TO CAPTURE / FATTEN UP PEOPLE WHO DON'T DO NON-CON OR DIDN'T AGREE TO IT! Despite being able to leave the outpost, you do NOT have a permission to antag or grief."
@@ -740,7 +747,8 @@
/datum/outfit/feeders_den/victim
name = "Den Victim"
uniform = /obj/item/clothing/under/polychromic/shortpants
uniform = /obj/item/clothing/under/gear_harness
neck = /obj/item/electropack/shockcollar
/datum/outfit/feeders_den/victim/Destroy()
new/obj/structure/fluff/empty_sleeper/syndicate(get_turf(src))
@@ -1,126 +0,0 @@
/obj/item/gun/fatbeam // GS13
name = "Fatbeam Gun"
desc = "Apparently used to treat malnourished patients from a safe distance... But we all know what it will truly be used for."
icon = 'icons/obj/fatbeam.dmi'
icon_state = "fatbeam"
item_state = "fatbeam"
w_class = WEIGHT_CLASS_NORMAL
var/mob/living/current_target
var/last_check = 0
var/check_delay = 10 //Check los as often as possible, max resolution is SSobj tick though
var/max_range = 8
var/active = 0
var/datum/beam/current_beam = null
var/mounted = 0 //Denotes if this is a handheld or mounted version
weapon_weight = WEAPON_MEDIUM
/obj/item/gun/fatbeam/Initialize()
. = ..()
START_PROCESSING(SSobj, src)
/obj/item/gun/fatbeam/Destroy(mob/user)
STOP_PROCESSING(SSobj, src)
LoseTarget()
return ..()
/obj/item/gun/fatbeam/dropped(mob/user)
..()
LoseTarget()
/obj/item/gun/fatbeam/equipped(mob/user)
..()
LoseTarget()
/obj/item/gun/fatbeam/proc/LoseTarget()
if(active)
qdel(current_beam)
current_beam = null
active = 0
on_beam_release(current_target)
current_target = null
/obj/item/gun/fatbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
if(isliving(user))
add_fingerprint(user)
if(current_target)
LoseTarget()
if(!isliving(target))
return
current_target = target
active = TRUE
current_beam = new(user,current_target,time=6000,beam_icon_state="fatbeam",btype=/obj/effect/ebeam/medical)
INVOKE_ASYNC(current_beam, /datum/beam.proc/Start)
SSblackbox.record_feedback("tally", "gun_fired", 1, type)
/obj/item/gun/fatbeam/process()
var/source = loc
if(!mounted && !isliving(source))
LoseTarget()
return
if(!current_target)
LoseTarget()
return
if(world.time <= last_check+check_delay)
return
last_check = world.time
if(get_dist(source, current_target)>max_range || !los_check(source, current_target))
LoseTarget()
if(isliving(source))
to_chat(source, "<span class='warning'>You lose control of the beam!</span>")
return
if(current_target)
on_beam_tick(current_target)
/obj/item/gun/fatbeam/proc/los_check(atom/movable/user, mob/target)
var/turf/user_turf = user.loc
if(mounted)
user_turf = get_turf(user)
else if(!istype(user_turf))
return 0
var/obj/dummy = new(user_turf)
dummy.pass_flags |= PASSTABLE|PASSGLASS|PASSGRILLE //Grille/Glass so it can be used through common windows
for(var/turf/turf in getline(user_turf,target))
if(mounted && turf == user_turf)
continue //Mechs are dense and thus fail the check
if(turf.density)
qdel(dummy)
return 0
for(var/atom/movable/AM in turf)
if(!AM.CanPass(dummy,turf,1))
qdel(dummy)
return 0
for(var/obj/effect/ebeam/medical/B in turf)// Don't cross the str-beams!
if(B.owner.origin != current_beam.origin)
explosion(B.loc,0,1,3,4)
qdel(dummy)
return 0
qdel(dummy)
return 1
/obj/item/gun/fatbeam/proc/on_beam_hit(var/mob/living/target)
return
/obj/item/gun/fatbeam/proc/on_beam_tick(var/mob/living/target)
if(target.health != target.maxHealth)
new /obj/effect/temp_visual/heal(get_turf(target), "#fabb62")
if(target?.client?.prefs?.weight_gain_weapons)
target.nutrition += 50
return
/obj/item/gun/fatbeam/proc/on_beam_release(var/mob/living/target)
return
/obj/effect/ebeam/medical
name = "fattening beam"
+1 -1
View File
@@ -9,7 +9,7 @@
/obj/vehicle/ridden/atv/Initialize()
. = ..()
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
D.vehicle_move_delay = 2.25
D.vehicle_move_delay = 1.4
D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 4), TEXT_SOUTH = list(0, 4), TEXT_EAST = list(0, 4), TEXT_WEST = list( 0, 4)))
D.set_vehicle_dir_layer(SOUTH, ABOVE_MOB_LAYER)
D.set_vehicle_dir_layer(NORTH, OBJ_LAYER)
+1 -1
View File
@@ -6,7 +6,7 @@
/obj/vehicle/ridden/scooter/Initialize()
. = ..()
var/datum/component/riding/D = LoadComponent(/datum/component/riding)
D.vehicle_move_delay = 1.5
D.vehicle_move_delay = 1.9
D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0), TEXT_SOUTH = list(-2), TEXT_EAST = list(0), TEXT_WEST = list( 2)))