Skip to content

Commit

Permalink
спу и дионы больше не считаются экипажовцами для ксеноморфов (#13209)
Browse files Browse the repository at this point in the history
* Update infestation.dm

* хм

* вот так попробуем

* хотя ладно пусть флаги будут

* киборгоч сказал значит надо

дионы и спу больше не екипажовцы

* блять что за пиздец какие нахуй рантаймы аааааа!!!!

* ну вроде так

* зомбики

* Update human.dm

* Update human.dm

* ну вот щас вот прям супер точно супер финал ведь да? так ведь да?

* ладно шедоулинги сосите бибу

* факинг вар

* нахуй это говно отсюдова!!!!!!!

* ОПАЧА ФЕЙСХАГАБЛЕ

* убираем сигнатуре обж

* tak i dumal

* убираем альт аппиранс если лишаемся расы
  • Loading branch information
Tap0r authored Jul 14, 2024
1 parent 41efdd7 commit 59c5b37
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 4 deletions.
21 changes: 21 additions & 0 deletions code/datums/atom_huds/alternate_apperance.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,27 @@ var/global/list/active_alternate_appearances = list()
return TRUE
return FALSE

// Fake-image can see only xenomorph
/datum/atom_hud/alternate_appearance/basic/xenomorphs/New()
..()
for(var/list_key in global.alien_list)
for(var/mob in global.alien_list[list_key])
if(mobShouldSee(mob))
add_hud_to(mob)

/datum/atom_hud/alternate_appearance/basic/xenomorphs/mobShouldSee(mob/M)
return isxeno(M)

// Fake-image can see only zombie
/datum/atom_hud/alternate_appearance/basic/zombies/New()
..()
for(var/mob in global.zombie_list)
if(mobShouldSee(mob))
add_hud_to(mob)

/datum/atom_hud/alternate_appearance/basic/zombies/mobShouldSee(mob/M)
return iszombie(M)

// Fake-image can see only observers
/datum/atom_hud/alternate_appearance/basic/observers
add_ghost_version = FALSE //just in case, to prevent infinite loops
Expand Down
5 changes: 4 additions & 1 deletion code/game/gamemodes/factions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -415,7 +415,7 @@
continue
. += M

/datum/faction/proc/check_crew()
/datum/faction/proc/check_crew(for_alien = FALSE)
var/total_human = 0
for(var/mob/living/carbon/human/H as anything in human_list)
var/turf/human_loc = get_turf(H)
Expand All @@ -425,5 +425,8 @@
continue
if(!H.mind || !H.client)
continue
if(for_alien)
if(!H.species.flags[FACEHUGGABLE])
continue
total_human++
return total_human
2 changes: 1 addition & 1 deletion code/game/gamemodes/factions/infestation.dm
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@


/datum/faction/infestation/proc/count_alien_percent()
var/total_human = check_crew()
var/total_human = check_crew(for_alien = TRUE)
var/total_alien = count_hive_power()
var/alien_percent = 0
if(total_human && total_alien)
Expand Down
4 changes: 2 additions & 2 deletions code/game/gamemodes/objectives/reproduct.dm
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/datum/objective/reproduct
explanation_text = "Улей должен жить и размножаться. Ваша численность должна превосходить экипаж станции в X раз."
explanation_text = "Улей должен жить и размножаться. Ваша численность должна превосходить число возможных разумных носителей в X раз."

/datum/objective/reproduct/PostAppend()
..()
var/datum/faction/infestation/aliens = faction
if(!istype(aliens))
return FALSE
explanation_text = "Улей должен жить и размножаться. Ваша численность должна превосходить экипаж станции в [WIN_PERCENT/100] раз."
explanation_text = "Улей должен жить и размножаться. Ваша численность должна превосходить число возможных разумных носителей в [WIN_PERCENT/100] раз."
return TRUE

/datum/objective/reproduct/check_completion()
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/human/zombie.dm
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,8 @@
<span class='cult'>Теперь ты зомби! Не пытайся вылечиться, не вреди своим собратьям мёртвым, не помогай какому бы то ни было не-зомби. \
Теперь ты - воплощение голода, смерти и жестокости. Распространяй болезнь и УБИВАЙ.</span>")

update_alt_apperance_by(/datum/atom_hud/alternate_appearance/basic/zombies)

var/global/list/zombie_list = list()

/proc/add_zombie(mob/living/carbon/human/H)
Expand Down
54 changes: 54 additions & 0 deletions code/modules/mob/living/carbon/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -840,6 +840,35 @@
var/regen_mod = 1.0
// Podmen don't.
var/regen_limbs = TRUE
var/list/signature_plant = list(
/obj/structure/flora/ausbushes/genericbush,
/obj/structure/flora/ausbushes/grassybush,
/obj/structure/flora/ausbushes/pointybush,
/obj/structure/flora/junglebush/b,
/obj/item/weapon/flora/floorleaf,
/obj/item/weapon/flora/pottedplant/aquatic,
/obj/item/weapon/flora/pottedplant/decorative,
/obj/item/weapon/flora/pottedplant/ficus,
/obj/item/weapon/flora/pottedplant/minitree,
/obj/item/weapon/flora/pottedplant/palm,
/obj/item/weapon/flora/pottedplant/stoutbush,
/obj/item/weapon/flora/pottedplant/thinbush,
/obj/item/weapon/flora/pottedplant/tropical_2)

/datum/species/diona/on_gain(mob/living/carbon/human/H)
..()
// initialize hud_list for alt_appearance
H.prepare_huds()
var/obj/signature_obj = pick(signature_plant)
var/image/I = image(signature_obj.icon, H, signature_obj.icon_state)
I.override = 1
H.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/xenomorphs, "DIONA_xeno", I)
H.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/zombies, "DIONA_zombie", I)

/datum/species/diona/on_loose(mob/living/carbon/human/H, new_species)
H.remove_alt_appearance("DIONA_xeno")
H.remove_alt_appearance("DIONA_zombie")
..()

/datum/species/diona/regen(mob/living/carbon/human/H)
var/light_amount = 0 //how much light there is in the place, affects receiving nutrition and healing
Expand Down Expand Up @@ -1072,6 +1101,20 @@

default_mood_event = /datum/mood_event/machine

var/list/signature_machinery = list(
/obj/machinery/pdapainter,
/obj/machinery/computer/security/wooden_tv/miami,
/obj/machinery/message_server,
/obj/machinery/blackbox_recorder,
/obj/machinery/vending/cigarette,
/obj/machinery/kitchen_machine/microwave,
/obj/machinery/kitchen_machine/oven,
/obj/machinery/media/jukebox,
/obj/machinery/washing_machine,
/obj/machinery/telecomms/relay,
/obj/machinery/portable_atmospherics/powered/pump,
/obj/machinery/chem_master)

/datum/species/machine/on_gain(mob/living/carbon/human/H)
..()
H.verbs += /mob/living/carbon/human/proc/IPC_change_screen
Expand All @@ -1081,13 +1124,24 @@
if(BP)
H.set_light(BP.screen_brightness)

// initialize hud_list for alt_appearance
H.prepare_huds()
var/obj/signature_obj = pick(signature_machinery)
var/image/I = image(signature_obj.icon, H, signature_obj.icon_state)
I.override = 1
H.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/xenomorphs, "IPC_xeno", I)
H.add_alt_appearance(/datum/atom_hud/alternate_appearance/basic/zombies, "IPC_zombie", I)

/datum/species/machine/on_loose(mob/living/carbon/human/H, new_species)
H.verbs -= /mob/living/carbon/human/proc/IPC_change_screen
H.verbs -= /mob/living/carbon/human/proc/IPC_toggle_screen
H.verbs -= /mob/living/carbon/human/proc/IPC_display_text
var/obj/item/organ/external/head/robot/ipc/BP = H.bodyparts_by_name[BP_HEAD]
if(BP && BP.screen_toggle)
H.set_light(0)

H.remove_alt_appearance("IPC_xeno")
H.remove_alt_appearance("IPC_zombie")
..()

/datum/species/machine/handle_death(mob/living/carbon/human/H, gibbed)
Expand Down
Binary file not shown.

0 comments on commit 59c5b37

Please sign in to comment.