-
Notifications
You must be signed in to change notification settings - Fork 427
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
add: grey rework #6108
base: master220
Are you sure you want to change the base?
add: grey rework #6108
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -508,15 +508,20 @@ | |
name = "Toggle Research Scanner" | ||
|
||
/datum/action/item_action/toggle_research_scanner/Trigger(left_click = TRUE) | ||
if(IsAvailable()) | ||
owner.research_scanner = !owner.research_scanner | ||
to_chat(owner, "<span class='notice'>Research analyzer is now [owner.research_scanner ? "active" : "deactivated"].</span>") | ||
return TRUE | ||
if(!IsAvailable()) | ||
return | ||
|
||
owner.research_scanner = !owner.research_scanner | ||
to_chat(owner, span_notice("Вы [owner.research_scanner ? "включили" : "отключили"] исследовательский анализатор.")) | ||
|
||
return TRUE | ||
|
||
|
||
/datum/action/item_action/toggle_research_scanner/Remove(mob/living/L) | ||
if(owner) | ||
owner.research_scanner = 0 | ||
..() | ||
|
||
. = ..() | ||
|
||
|
||
/datum/action/item_action/toggle_research_scanner/ApplyIcon() | ||
|
@@ -740,15 +745,20 @@ | |
name = "Toggle Research Scanner" | ||
|
||
/datum/action/innate/research_scanner/Trigger(left_click = TRUE) | ||
if(IsAvailable()) | ||
owner.research_scanner = !owner.research_scanner | ||
to_chat(owner, "<span class='notice'>Research analyzer is now [owner.research_scanner ? "active" : "deactivated"].</span>") | ||
return TRUE | ||
if(!IsAvailable()) | ||
return | ||
|
||
owner.research_scanner = !owner.research_scanner | ||
to_chat(owner, span_notice("Вы [owner.research_scanner ? "включили" : "отключили"] исследовательский анализатор.")) | ||
|
||
return TRUE | ||
Comment on lines
747
to
+754
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Trigger стоит поменять на /Activate(), убрать isAvailable |
||
|
||
|
||
/datum/action/innate/research_scanner/Remove(mob/living/L) | ||
if(owner) | ||
owner.research_scanner = 0 | ||
..() | ||
|
||
. = ..() | ||
|
||
|
||
/datum/action/innate/research_scanner/ApplyIcon() | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -587,6 +587,17 @@ | |
|
||
user.visible_message("<span class='notice'>[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].</span>", \ | ||
"<span class='notice'>You wash your [washing_face ? "face" : "hands"] using [src].</span>") | ||
|
||
if(isgrey(user)) // no water?? | ||
var/mob/living/carbon/human/H = user | ||
var/grey_message = pick("Вы не ожидали, что в раковине окажется вода!", "Вы слишком поздно понимаете, что совершили ошибку!", "Вы чувствуете адскую боль по всему телу!") | ||
H.adjustFireLoss(30 * H.get_permeability_protection()) | ||
to_chat(H, span_danger("[grey_message]")) | ||
if(H.has_pain()) | ||
H.emote("scream") | ||
|
||
return | ||
Comment on lines
+591
to
+599
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. стоит ввести сигнал, к примеру COMSIG_SINK_ACT, чем расширять истайпы на расы |
||
|
||
if(washing_face) | ||
if(ishuman(user)) | ||
var/mob/living/carbon/human/H = user | ||
|
Original file line number | Diff line number | Diff line change | ||||||
---|---|---|---|---|---|---|---|---|
|
@@ -28,6 +28,8 @@ | |||||||
return "\[Species: [english_list(whitelisted_species)]\] " | ||||||||
|
||||||||
|
||||||||
// TAJARAN // | ||||||||
|
||||||||
/datum/gear/racial/taj | ||||||||
display_name = "embroidered veil" | ||||||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races." | ||||||||
|
@@ -95,3 +97,25 @@ | |||||||
allowed_roles = list(JOB_TITLE_HOP, JOB_TITLE_CAPTAIN) | ||||||||
|
||||||||
|
||||||||
// GREY // | ||||||||
|
||||||||
/datum/gear/racial/language_chip | ||||||||
display_name = "selected language chip" | ||||||||
description = "Крошечный чип-переводчик с индикатором, содержащий в себе один из языков. Разработан греями, устанавливается в импланты-переводчики." | ||||||||
path = /obj/item/translator_chip/sol | ||||||||
whitelisted_species = list(SPECIES_GREY) | ||||||||
|
||||||||
|
||||||||
/datum/gear/racial/language_chip/New() | ||||||||
. = ..() | ||||||||
|
||||||||
var/list/available_chips = list() | ||||||||
for(var/path in subtypesof(/obj/item/translator_chip)) | ||||||||
var/obj/item/translator_chip/chip = path | ||||||||
Comment on lines
+113
to
+114
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Вполне можно сократить. Главное в таком случае не забывать делать игнорирование типа |
||||||||
if(chip.stored_language == TRAIT_WINGDINGS) // you can select it in the prefs, so no need to double | ||||||||
continue | ||||||||
|
||||||||
available_chips[chip.stored_language_rus] = chip | ||||||||
|
||||||||
gear_tweaks += new /datum/gear_tweak/path(available_chips, src) | ||||||||
|
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,3 +1,9 @@ | ||||||
#define PULL_STAMINADAM_WALK 4 | ||||||
#define PULL_STAMINADAM_RUN 6 | ||||||
#define PUSH_STAMINADAM_WALK 3 | ||||||
#define PUSH_STAMINADAM_RUN 4 | ||||||
|
||||||
|
||||||
/mob/living/carbon/human/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change = TRUE) | ||||||
. = ..() | ||||||
if(!forced && (!old_loc || !old_loc.has_gravity()) && has_gravity()) | ||||||
|
@@ -29,6 +35,7 @@ | |||||
if(.) // did we actually move? | ||||||
if(body_position != LYING_DOWN && !buckled && !throwing) | ||||||
update_splints() | ||||||
|
||||||
var/break_bones_chance = get_bones_symptom_prob() | ||||||
if(break_bones_chance && (m_intent == MOVE_INTENT_RUN || pulling)) | ||||||
if(prob(break_bones_chance)) | ||||||
|
@@ -42,6 +49,40 @@ | |||||
else if(prob(30)) | ||||||
playsound(src, "bonebreak", 10, TRUE) | ||||||
|
||||||
// If we sooo weak to pull or push something, except items or tiny mobs, get stamina damage | ||||||
var/weak_mob = FALSE | ||||||
if((pulling || now_pushing) && (TRAIT_WEAK_PULLING in dna?.species.inherent_traits)) | ||||||
weak_mob = TRUE | ||||||
|
||||||
if(weak_mob) | ||||||
var/stamina_damage = 0 | ||||||
var/small_pushed = TRUE | ||||||
// Handle pulling all non /obj/item stuff or tiny mobs | ||||||
if(pulling && istype(pulling, /mob/living)) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
var/mob/living/pulled_mob = pulling | ||||||
if(pulled_mob.mob_size) // small or bigger mobs | ||||||
small_pushed = FALSE | ||||||
|
||||||
if(pulling && !(small_pushed || (istype(pulling, /obj/item)))) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
if(m_intent == MOVE_INTENT_WALK) | ||||||
stamina_damage += PULL_STAMINADAM_WALK | ||||||
else | ||||||
stamina_damage += PULL_STAMINADAM_RUN | ||||||
|
||||||
if(staminaloss > 69) | ||||||
balloon_alert(usr, "слишком тяжело тащить!") | ||||||
stop_pulling() | ||||||
|
||||||
// Handle pushing, NOT swapping sides with mobs in help intent | ||||||
if(now_pushing) | ||||||
if(!(istype(now_pushing, /mob/living) && a_intent == INTENT_HELP)) | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
if(m_intent == MOVE_INTENT_WALK) | ||||||
stamina_damage += PUSH_STAMINADAM_WALK | ||||||
else | ||||||
stamina_damage += PUSH_STAMINADAM_RUN | ||||||
|
||||||
apply_damage(stamina_damage, STAMINA) | ||||||
|
||||||
if(!has_gravity()) | ||||||
return . | ||||||
|
||||||
|
@@ -202,3 +243,9 @@ | |||||
return FALSE | ||||||
|
||||||
return ..() | ||||||
|
||||||
|
||||||
#undef PULL_STAMINADAM_WALK | ||||||
#undef PULL_STAMINADAM_RUN | ||||||
#undef PUSH_STAMINADAM_WALK | ||||||
#undef PUSH_STAMINADAM_RUN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Стоит вызывать родителя, если в будущем будут что то менять для всех экшенс. Если не хочется, что бы вызывался attack_self у предмета в случае активации кнопочки - переведи переменную экшенса
attack_self = FALSE