Skip to content

Commit

Permalink
321
Browse files Browse the repository at this point in the history
  • Loading branch information
simb11 committed Apr 9, 2024
1 parent dc3c8d9 commit 2d7495f
Show file tree
Hide file tree
Showing 13 changed files with 160 additions and 1 deletion.
1 change: 1 addition & 0 deletions code/__DEFINES/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@
#define ANTAG_HUD_ALIEN "antag_hud_alien"
#define ANTAG_HUD_DEATHCOM "antag_hud_deathcom"
#define ANTAG_HUD_ERT "antag_hud_ert"
#define ANTAG_HUD_LATE_PARTY "antag_hud_late_party"
#define ANTAG_HUD_MALF "antag_hud_malf"
#define ANTAG_HUD_ZOMB "antag_hud_zomb"
#define ANTAG_HUD_GANGSTER "antag_hud_gangster"
Expand Down
3 changes: 3 additions & 0 deletions code/__DEFINES/gamemodes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define F_FAMILIES "Families"
#define F_HEIST "Vox Shoal"
#define F_HIVEMIND "Changeling Hivemind"
#define F_LATE_PARTY "Late Party"
#define F_LP_COMMUNISTS "Late Party: Communists"
#define F_PROPS "Props"
#define F_REVOLUTION "Revolution"
#define F_SYNDIOPS "Syndicate Operatives"
Expand Down Expand Up @@ -43,6 +45,7 @@
#define GANGSTER_LEADER "Gangster Leader"
#define GANGSTER_DEALER "Gangster Dealer"
#define HEADREV "Head Revolutionary"
#define LATE_PARTY_MEMBER "Late Party Member"
#define MALF "Malf AI"
#define MALFBOT "Malf-Slaved Cyborg"
#define NUKE_OP "Nuclear Operative"
Expand Down
1 change: 1 addition & 0 deletions code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -603,6 +603,7 @@ SUBSYSTEM_DEF(ticker)
create_spawner(/datum/spawner/mouse)
if(config.allow_drone_spawn)
create_spawner(/datum/spawner/drone)
create_spawners(/datum/spawner/late_party, 0)

/datum/controller/subsystem/ticker/proc/teleport_players_to_eorg_area()
if(!config.deathmatch_arena)
Expand Down
1 change: 1 addition & 0 deletions code/datums/atom_huds/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ var/global/list/huds = list(
ANTAG_HUD_ALIEN = new/datum/atom_hud/antag/hidden,
ANTAG_HUD_DEATHCOM = new/datum/atom_hud/antag,
ANTAG_HUD_ERT = new/datum/atom_hud/antag,
ANTAG_HUD_LATE_PARTY = new/datum/atom_hud/antag/hidden,
ANTAG_HUD_MALF = new/datum/atom_hud/antag/hidden,
ANTAG_HUD_ZOMB = new/datum/atom_hud/antag,
ANTAG_HUD_GANGSTER = new/datum/atom_hud/antag/hidden,
Expand Down
118 changes: 118 additions & 0 deletions code/datums/spawners_menu/spawners_lateparty.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
var/global/datum/late_party/current_late_party

/datum/spawner/late_party
name = "Поздняя Группа"
desc = "."
ranks = list(ROLE_GHOSTLY)
priority = 1001

register_only = TRUE

var/datum/late_party/late_party_type
var/list/datum/late_party/possible_parties = list()


/datum/spawner/late_party/New()
for(var/party_type in subtypesof(/datum/late_party))
var/datum/late_party/party = new party_type
if(!party.name)
qdel(party)
continue
LAZYADD(possible_parties, party)
late_party_type = pick(possible_parties)
global.current_late_party = late_party_type
//time_for_registration = rand(25 MINUTES, 45 MINUTES)
time_for_registration = rand(30 SECONDS, 45 SECONDS)
positions = late_party_type.members.len
to_chat(world, "[late_party_type.name]")
to_chat(world, "[late_party_type.members.len]")
..()


/datum/spawner/late_party/roll_registrations()
if(registered_candidates.len < late_party_type.members.len)
//REROLL
for(var/party_type in subtypesof(/datum/late_party))
var/datum/late_party/party = new party_type
if(!party.name)
qdel(party)
continue
LAZYADD(possible_parties, party)
late_party_type = pick(possible_parties)
time_for_registration = 5 MINUTES
positions = late_party_type.members.len
global.current_late_party = late_party_type
start_timers()
for(var/mob/dead/M in registered_candidates)
to_chat(M, "<span class='notice'><B>Недостаточно кандидатов для создания поздней группы! Следующая попытка набора через 5 минут!</B></span>")
return
..()

/datum/spawner/late_party/spawn_body(mob/dead/spectator)
var/list/potential_roles = list()
for(var/datum/late_party_member/members_in_list in late_party_type.members)
LAZYADD(potential_roles, members_in_list)
to_chat(world, "[members_in_list.name]")
var/datum/late_party_member/member = pick(potential_roles)
//LAZYREMOVE(late_party_type.members, member)

var/client/C = spectator.client

var/datum/faction/F = find_faction_by_type(member.faction)
member.holder = new(null)
C.create_human_apperance(member.holder)

var/turf/T = pick(landmarks_list[member.spawnloc])
member.holder.loc = get_turf(T)
member.holder.key = C.key

create_and_setup_role(member.role, member.holder)
add_faction_member(F, member.holder, FALSE, TRUE)
member.holder.equipOutfit(member.outfit)
to_chat(member.holder, "<B>Вот ты и здесь...</B>")


/datum/late_party
var/name
var/list/datum/late_party_member/members = list() //members of lateparty (/datum/late_party_member)

/datum/late_party/proc/post_spawn() //for announcements and events after the party appears.
return

/datum/late_party_member
var/name = "Generic Name"
var/datum/role/role //member role
var/datum/faction/faction //member faction
var/spawnloc //spawn landmark
var/mob/living/carbon/human/holder //spectator new body
var/outfit //holder outfit

////////////////////////////////Communists!///////////////////////////////////////////////////////////

/datum/late_party/commy
name = "Отряд СССП"
members = list(
/datum/late_party_member/soviet_soldier
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_soldier,
///datum/late_party_member/soviet_comissar
)


/datum/late_party_member/soviet_soldier
name = "Красноармеец"
role = /datum/role/late_party_member
faction = /datum/faction/late_party/communists
spawnloc = "lp_communist"
outfit = /datum/outfit/responders/ussp

///datum/late_party_member/soviet_comissar
// name = "Коммисар СССП"
// role =
// faction =
// spawnloc =
// outfit = /datum/outfit/responders/ussp/leader
12 changes: 12 additions & 0 deletions code/game/gamemodes/factions/late_parties.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/datum/faction/late_party
name = "Late Party"
ID = F_LATE_PARTY
logo_state = "late_party_logo"

initroletype = /datum/role/late_party_member

/datum/faction/late_party/communists
name = F_LP_COMMUNISTS
ID = F_LP_COMMUNISTS
logo_state = "soviet"

9 changes: 9 additions & 0 deletions code/game/gamemodes/roles/late_party_members.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
/datum/role/late_party_member
name = LATE_PARTY_MEMBER
id = LATE_PARTY_MEMBER
disallow_job = TRUE

logo_state = "late_party_logo"
antag_hud_type = ANTAG_HUD_LATE_PARTY
antag_hud_name = "hud_late_party_member"
skillset_type = /datum/skillset/max
7 changes: 7 additions & 0 deletions code/game/objects/effects/landmarks.dm
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,13 @@ var/global/list/list/landmarks_list = list() // assoc list of all landmarks crea
/obj/effect/landmark/heist_spawn
name = "Heist"

/obj/effect/landmark/late_party
icon = 'icons/effects/landmarks_static.dmi'

/obj/effect/landmark/late_party/communist
name = "lp_communist"
icon_state = "late_party_commy"

/obj/effect/landmark/latejoin
name = "JoinLate"

Expand Down
Binary file modified icons/effects/landmarks_static.dmi
Binary file not shown.
Binary file modified icons/hud/hud.dmi
Binary file not shown.
Binary file modified icons/misc/logos.dmi
Binary file not shown.
6 changes: 5 additions & 1 deletion maps/centcom/centcom.dmm
Original file line number Diff line number Diff line change
Expand Up @@ -29755,6 +29755,10 @@
},
/turf/environment/space,
/area/shuttle/escape/centcom)
"pVk" = (
/obj/effect/landmark/late_party/communist,
/turf/unsimulated/floor,
/area/centcom/specops)
"pWb" = (
/obj/structure/object_wall/evac{
density = 0;
Expand Down Expand Up @@ -60005,7 +60009,7 @@ aCV
aDi
bpb
aEc
aCV
pVk
aBQ
bib
aBY
Expand Down
3 changes: 3 additions & 0 deletions taucetistation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,7 @@
#include "code\datums\qualities\quirkieish.dm"
#include "code\datums\round_aspects\round_aspects.dm"
#include "code\datums\spawners_menu\spawners.dm"
#include "code\datums\spawners_menu\spawners_lateparty.dm"
#include "code\datums\spawners_menu\spawners_living.dm"
#include "code\datums\spawners_menu\spawners_menu.dm"
#include "code\datums\spawners_menu\spawners_replicators.dm"
Expand Down Expand Up @@ -556,6 +557,7 @@
#include "code\game\gamemodes\factions\families.dm"
#include "code\game\gamemodes\factions\heist.dm"
#include "code\game\gamemodes\factions\infestation.dm"
#include "code\game\gamemodes\factions\late_parties.dm"
#include "code\game\gamemodes\factions\malf_silicons.dm"
#include "code\game\gamemodes\factions\ninja.dm"
#include "code\game\gamemodes\factions\props.dm"
Expand Down Expand Up @@ -759,6 +761,7 @@
#include "code\game\gamemodes\roles\evil_shade.dm"
#include "code\game\gamemodes\roles\families.dm"
#include "code\game\gamemodes\roles\heist.dm"
#include "code\game\gamemodes\roles\late_party_members.dm"
#include "code\game\gamemodes\roles\malf_unit.dm"
#include "code\game\gamemodes\roles\ninja.dm"
#include "code\game\gamemodes\roles\prisoner.dm"
Expand Down

0 comments on commit 2d7495f

Please sign in to comment.