forked from tgstation/tgstation
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## About The Pull Request In tgstation#77887 I have introduced a food buff system with placeholder buffs to not bloat that PR with balance-related things to allow people to add their own effects and discuss the particular effects in separate PRs. The goal is to have: - Some default buffs for all food. Currently there's only Haste that scales with food complexity. - Some interesting buffs tied to food categories or specific dishes This PR is a first part of this change. - Adding an indicator to Cooking UI that food does something special - Added **Spaghetti Carbonara** dish that gives Italian speech. ![image](https://github.com/user-attachments/assets/2035a97a-6048-4636-bd49-d1ea3390a50e) - Added **Jupiter Cup Cake** that gives shock immunity instead of it being randomly given by high-complexity dishes. ![image](https://github.com/user-attachments/assets/3260339d-0167-4840-9b76-10371959e16c) - Made **Omelette Du Fromage** give French speech. - Made **Mime Tart** give Mute trait - Made **Clown Cake** give Waddle Walk trait - Made **Stuffed Legion** give Ashstorm Immune trait ## Why It's Good For The Game Foodening PR was incomplete, this PR is a step towards the completion. ## TODO - [X] Pick a certain dish to give the French speech - [X] Pick a certain pasta to give the Italian speech - [X] Pick a certain dish for the shock immunity buff - [x] Add an indicator to the cooking UI that a dish has a special effect - [x] Add more food effects per suggestions ## Changelog :cl: qol: Dishes with a special food effect are marked in the Cooking UI add: New Spaghetti Carbonara dish that makes people Italian temporarily add: Omelette Du Fromage makes people French temporarily add: Shock Immunity is no longer a random level 4-5 food buff, but a buff given by a new Jupiter-Cup-Cake add: Mime Tart gives Mute trait add: Clown Cake gives Waddle Walk trait add: Stuffed Legion gives Ashstorm Immune trait /:cl:
- Loading branch information
Showing
21 changed files
with
181 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/// Makes you gain a trait | ||
/datum/status_effect/food/trait | ||
var/trait = TRAIT_DUMB // You need to override this | ||
|
||
/datum/status_effect/food/trait/on_apply() | ||
if(!HAS_TRAIT_FROM(owner, trait, type)) // Check if trait was already applied | ||
ADD_TRAIT(owner, trait, type) | ||
return ..() | ||
|
||
/datum/status_effect/food/trait/be_replaced() | ||
REMOVE_TRAIT(owner, trait, type) | ||
return ..() | ||
|
||
/datum/status_effect/food/trait/on_remove() | ||
REMOVE_TRAIT(owner, trait, type) | ||
return ..() | ||
|
||
/datum/status_effect/food/trait/shockimmune | ||
alert_type = /atom/movable/screen/alert/status_effect/shockimmune | ||
trait = TRAIT_SHOCKIMMUNE | ||
|
||
/atom/movable/screen/alert/status_effect/shockimmune | ||
name = "Grounded" | ||
desc = "That meal made me feel like a superconductor..." | ||
icon_state = "shock_immune" | ||
|
||
/datum/status_effect/food/trait/mute | ||
alert_type = /atom/movable/screen/alert/status_effect/mute | ||
trait = TRAIT_MUTE | ||
|
||
/atom/movable/screen/alert/status_effect/mute | ||
name = "..." | ||
desc = "..." | ||
icon_state = "mute" | ||
|
||
/datum/status_effect/food/trait/ashstorm_immune | ||
alert_type = /atom/movable/screen/alert/status_effect/ashstorm_immune | ||
trait = TRAIT_ASHSTORM_IMMUNE | ||
|
||
/atom/movable/screen/alert/status_effect/ashstorm_immune | ||
name = "Ashstorm-proof" | ||
desc = "That meal makes me feel born on Lavaland." | ||
icon_state = "ashstorm_immune" | ||
|
||
/datum/status_effect/food/trait/waddle | ||
alert_type = /atom/movable/screen/alert/status_effect/waddle | ||
trait = TRAIT_WADDLING | ||
|
||
/datum/status_effect/food/trait/waddle/on_apply() | ||
owner.AddElementTrait(trait, type, /datum/element/waddling) | ||
return ..() | ||
|
||
/atom/movable/screen/alert/status_effect/waddle | ||
name = "Waddling" | ||
desc = "That meal makes me want to joke around." | ||
icon_state = "waddle" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
///Temporary modifies the speech using the /datum/component/speechmod | ||
/datum/status_effect/food/speech | ||
|
||
/datum/status_effect/food/speech/italian | ||
alert_type = /atom/movable/screen/alert/status_effect/italian_speech | ||
|
||
/datum/status_effect/food/speech/italian/on_apply() | ||
AddComponent( \ | ||
/datum/component/speechmod, \ | ||
replacements = strings("italian_replacement.json", "italian"), \ | ||
end_string = list( | ||
" Ravioli, ravioli, give me the formuoli!", | ||
" Mamma-mia!", | ||
" Mamma-mia! That's a spicy meat-ball!", | ||
" La la la la la funiculi funicula!" | ||
), \ | ||
end_string_chance = 3 \ | ||
) | ||
return ..() | ||
|
||
/atom/movable/screen/alert/status_effect/italian_speech | ||
name = "Linguini Embrace" | ||
desc = "You feel a sudden urge to gesticulate wildly." | ||
icon_state = "food_italian" | ||
|
||
/datum/status_effect/food/speech/french | ||
alert_type = /atom/movable/screen/alert/status_effect/french_speech | ||
|
||
/datum/status_effect/food/speech/french/on_apply() | ||
AddComponent( \ | ||
/datum/component/speechmod, \ | ||
replacements = strings("french_replacement.json", "french"), \ | ||
end_string = list( | ||
" Honh honh honh!", | ||
" Honh!", | ||
" Zut Alors!" | ||
), \ | ||
end_string_chance = 3, \ | ||
) | ||
return ..() | ||
|
||
/atom/movable/screen/alert/status_effect/french_speech | ||
name = "Café Chic" | ||
desc = "Suddenly, everything seems worthy of a passionate debate." | ||
icon_state = "food_french" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters