mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts: html/changelogs/.all_changelog.yml
This commit is contained in:
@@ -23,5 +23,5 @@
|
||||
/datum/antagonist/proc/place_mob(var/mob/living/mob)
|
||||
if(!starting_locations || !starting_locations.len)
|
||||
return
|
||||
var/turf/T = pick_mobless_turf_if_exists(mob)
|
||||
var/turf/T = pick_mobless_turf_if_exists(starting_locations)
|
||||
mob.forceMove(T)
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
certain though... there is never just one of them. Good luck."
|
||||
config_tag = "changeling"
|
||||
required_players = 2
|
||||
required_players_secret = 10
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 1
|
||||
antag_scaling_coeff = 10
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
extended_round_description = "The station has been infiltrated by a fanatical group of death-cultists! They will use powers from beyond your comprehension to subvert you to their cause and ultimately please their gods through sacrificial summons and physical immolation! Try to survive!"
|
||||
config_tag = "cult"
|
||||
required_players = 5
|
||||
required_players_secret = 15
|
||||
required_enemies = 3
|
||||
end_on_antag_death = 1
|
||||
antag_tags = list(MODE_CULTIST)
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
name = "epidemic"
|
||||
config_tag = "epidemic"
|
||||
required_players = 1
|
||||
required_players_secret = 15
|
||||
round_description = "A deadly epidemic is spreading on the station. Find a cure as fast as possible, and keep your distance to anyone who speaks in a hoarse voice!"
|
||||
|
||||
var/cruiser_arrival
|
||||
|
||||
@@ -10,7 +10,6 @@ var/global/list/additional_antag_types = list()
|
||||
var/probability = 0
|
||||
|
||||
var/required_players = 0 // Minimum players for round to start if voted in.
|
||||
var/required_players_secret = 0 // Minimum number of players for that game mode to be chose in Secret
|
||||
var/required_enemies = 0 // Minimum antagonists for round to start.
|
||||
var/newscaster_announcements = null
|
||||
var/end_on_antag_death = 0 // Round will end when all antagonists are dead.
|
||||
@@ -147,12 +146,8 @@ var/global/list/additional_antag_types = list()
|
||||
if((player.client)&&(player.ready))
|
||||
playerC++
|
||||
|
||||
if(master_mode=="secret")
|
||||
if(playerC < required_players_secret)
|
||||
return 0
|
||||
else
|
||||
if(playerC < required_players)
|
||||
return 0
|
||||
if(playerC < required_players)
|
||||
return 0
|
||||
|
||||
if(!(antag_templates && antag_templates.len))
|
||||
return 1
|
||||
|
||||
@@ -8,7 +8,6 @@ var/global/list/obj/cortical_stacks = list() //Stacks for 'leave nobody behind'
|
||||
name = "heist"
|
||||
config_tag = "heist"
|
||||
required_players = 15
|
||||
required_players_secret = 25
|
||||
required_enemies = 4
|
||||
round_description = "An unidentified bluespace signature has slipped past the Icarus and is approaching the station!"
|
||||
end_on_antag_death = 1
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
extended_round_description = "The AI will attempt to hack the APCs around the station in order to gain as much control as possible."
|
||||
config_tag = "malfunction"
|
||||
required_players = 2
|
||||
required_players_secret = 7
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 0
|
||||
auto_recall_shuttle = 0
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
name = "Memetic Anomaly"
|
||||
config_tag = "meme"
|
||||
required_players = 3
|
||||
required_players_secret = 10
|
||||
restricted_jobs = list("AI", "Cyborg")
|
||||
recommended_enemies = 2 // need at least a meme and a host
|
||||
votable = 0 // temporarily disable this mode for voting
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
only hope this unknown assassin isn't here for you."
|
||||
config_tag = "ninja"
|
||||
required_players = 1
|
||||
required_players_secret = 10
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 1
|
||||
antag_tags = list(MODE_NINJA)
|
||||
|
||||
@@ -9,7 +9,6 @@ var/list/nuke_disks = list()
|
||||
round_description = "A mercenary strike force is approaching the station!"
|
||||
config_tag = "mercenary"
|
||||
required_players = 15
|
||||
required_players_secret = 25 // 25 players - 5 players to be the nuke ops = 20 players remaining
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 1
|
||||
var/nuke_off_station = 0 //Used for tracking if the syndies actually haul the nuke to the station
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
round_description = "Some crewmembers are attempting to start a revolution!"
|
||||
extended_round_description = "Revolutionaries - Remove the heads of staff from power. Convert other crewmembers to your cause using the 'Convert Bourgeoise' verb. Protect your leaders."
|
||||
required_players = 4
|
||||
required_players_secret = 15
|
||||
required_enemies = 3
|
||||
auto_recall_shuttle = 1
|
||||
end_on_antag_death = 1
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
extended_round_description = "A powerful entity capable of manipulating the elements around him, most commonly referred to as a 'wizard', has infiltrated the station. They have a wide variety of powers and spells available to them that makes your own simple moral self tremble with fear and excitement. Ultimately, their purpose is unknown. However, it is up to you and your crew to decide if their powers can be used for good or if their arrival foreshadows the destruction of the entire station."
|
||||
config_tag = "wizard"
|
||||
required_players = 1
|
||||
required_players_secret = 10
|
||||
required_enemies = 1
|
||||
end_on_antag_death = 1
|
||||
antag_tags = list(MODE_WIZARD)
|
||||
|
||||
@@ -137,6 +137,7 @@
|
||||
if (istype(O, /obj/item/stack))
|
||||
var/obj/item/stack/S = O
|
||||
S.amount = produced
|
||||
S.add_to_stacks(user)
|
||||
|
||||
if (istype(O, /obj/item/weapon/storage)) //BubbleWrap - so newly formed boxes are empty
|
||||
for (var/obj/item/I in O)
|
||||
@@ -284,13 +285,13 @@
|
||||
return
|
||||
return max_amount
|
||||
|
||||
/obj/item/stack/proc/add_to_stacks(mob/usr as mob)
|
||||
for (var/obj/item/stack/item in usr.loc)
|
||||
/obj/item/stack/proc/add_to_stacks(mob/user as mob)
|
||||
for (var/obj/item/stack/item in user.loc)
|
||||
if (item==src)
|
||||
continue
|
||||
var/transfer = src.transfer_to(item)
|
||||
if (transfer)
|
||||
usr << "You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s."
|
||||
user << "<span class='notice'>You add a new [item.singular_name] to the stack. It now contains [item.amount] [item.singular_name]\s.</span>"
|
||||
if(!amount)
|
||||
break
|
||||
|
||||
|
||||
@@ -65,9 +65,10 @@
|
||||
var/obj/item/stack/material/M = S
|
||||
if(!istype(M) || material.name != M.material.name)
|
||||
return 0
|
||||
..(S,tamount,1)
|
||||
var/transfer = ..(S,tamount,1)
|
||||
if(src) update_strings()
|
||||
if(M) M.update_strings()
|
||||
return transfer
|
||||
|
||||
/obj/item/stack/material/attack_self(var/mob/user)
|
||||
if(!material.build_windows(user, src))
|
||||
@@ -207,4 +208,4 @@
|
||||
desc = "This sheet is special platinum-glass alloy designed to withstand large temperatures. It is reinforced with few rods."
|
||||
singular_name = "reinforced borosilicate glass sheet"
|
||||
icon_state = "sheet-phoronrglass"
|
||||
default_type = "reinforced borosilicate glass"
|
||||
default_type = "reinforced borosilicate glass"
|
||||
|
||||
@@ -127,8 +127,6 @@ var/list/name_to_material
|
||||
var/obj/item/stack/S = new rod_product(get_turf(user))
|
||||
S.add_fingerprint(user)
|
||||
S.add_to_stacks(user)
|
||||
if(!(user.l_hand && user.r_hand))
|
||||
user.put_in_hands(S)
|
||||
|
||||
/material/proc/build_wired_product(var/mob/user, var/obj/item/stack/used_stack, var/obj/item/stack/target_stack)
|
||||
if(!wire_product)
|
||||
|
||||
@@ -152,7 +152,7 @@ Works together with spawning an observer, noted above.
|
||||
if(key)
|
||||
var/mob/dead/observer/ghost = new(src) //Transfer safety to observer spawning proc.
|
||||
ghost.can_reenter_corpse = can_reenter_corpse
|
||||
ghost.timeofdeath = src.timeofdeath //BS12 EDIT
|
||||
ghost.timeofdeath = src.stat == DEAD ? src.timeofdeath : world.time
|
||||
ghost.key = key
|
||||
if(ghost.client && !ghost.client.holder && !config.antag_hud_allowed) // For new ghosts we remove the verb from even showing up if it's not allowed.
|
||||
ghost.verbs -= /mob/dead/observer/verb/toggle_antagHUD // Poor guys, don't know what they are missing!
|
||||
|
||||
@@ -1282,11 +1282,10 @@
|
||||
if(C.body_parts_covered & FEET)
|
||||
feet_exposed = 0
|
||||
|
||||
flavor_text = flavor_texts["general"]
|
||||
flavor_text += "\n\n"
|
||||
flavor_text = ""
|
||||
for (var/T in flavor_texts)
|
||||
if(flavor_texts[T] && flavor_texts[T] != "")
|
||||
if((T == "head" && head_exposed) || (T == "face" && face_exposed) || (T == "eyes" && eyes_exposed) || (T == "torso" && torso_exposed) || (T == "arms" && arms_exposed) || (T == "hands" && hands_exposed) || (T == "legs" && legs_exposed) || (T == "feet" && feet_exposed))
|
||||
if((T == "general") || (T == "head" && head_exposed) || (T == "face" && face_exposed) || (T == "eyes" && eyes_exposed) || (T == "torso" && torso_exposed) || (T == "arms" && arms_exposed) || (T == "hands" && hands_exposed) || (T == "legs" && legs_exposed) || (T == "feet" && feet_exposed))
|
||||
flavor_text += flavor_texts[T]
|
||||
flavor_text += "\n\n"
|
||||
if(!shrink)
|
||||
|
||||
@@ -347,26 +347,16 @@
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
|
||||
//exposure to extreme pressures can rupture lungs
|
||||
if(breath && (breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5))
|
||||
if(!is_lung_ruptured() && prob(5))
|
||||
rupture_lung()
|
||||
|
||||
//check if we actually need to process breath
|
||||
if(!breath || (breath.total_moles == 0) || suiciding)
|
||||
failed_last_breath = 1
|
||||
if(suiciding)
|
||||
adjustOxyLoss(2)//If you are suiciding, you should die a little bit faster
|
||||
oxygen_alert = max(oxygen_alert, 1)
|
||||
return 0
|
||||
if(health > config.health_threshold_crit)
|
||||
adjustOxyLoss(HUMAN_MAX_OXYLOSS)
|
||||
else
|
||||
adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS)
|
||||
//exposure to extreme pressures can rupture lungs
|
||||
if(breath && (breath.total_moles < BREATH_MOLES / 5 || breath.total_moles > BREATH_MOLES * 5))
|
||||
if(!is_lung_ruptured() && prob(5))
|
||||
rupture_lung()
|
||||
|
||||
//check if we actually need to process breath
|
||||
if(!breath || (breath.total_moles == 0) || suiciding)
|
||||
failed_last_breath = 1
|
||||
if(suiciding)
|
||||
adjustOxyLoss(2)//If you are suiciding, you should die a little bit faster
|
||||
oxygen_alert = max(oxygen_alert, 1)
|
||||
return 0
|
||||
if(health > config.health_threshold_crit)
|
||||
@@ -375,7 +365,6 @@
|
||||
adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS)
|
||||
|
||||
oxygen_alert = max(oxygen_alert, 1)
|
||||
|
||||
return 0
|
||||
|
||||
var/safe_pressure_min = 16 // Minimum safe partial pressure of breathable gas in kPa
|
||||
|
||||
@@ -67,6 +67,17 @@
|
||||
<li class="tweak">Light replacers now hold up to 32 light bulbs.</li>
|
||||
<li class="tweak">Light replacers can be obtained through janitorial supply crates.</li>
|
||||
<li class="tweak">A sheet of glass fills the light replacer by 16 bulbs.</li>
|
||||
<h2 class="date">14 October 2015</h2>
|
||||
<h3 class="author">Hubblenaut updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Airlock backup power test light properly offline when backup power down.</li>
|
||||
<li class="bugfix">Empty flavor texts no longer draw an empty line on examination.</li>
|
||||
<li class="bugfix">Material stacks now properly merge upon creation.</li>
|
||||
<li class="bugfix">Messages for adding to existing stack appear again.</li>
|
||||
</ul>
|
||||
<h3 class="author">TheWelp updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscdel">Removed higher Secret player requirements.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">10 October 2015</h2>
|
||||
|
||||
@@ -2327,3 +2327,11 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- tweak: Light replacers now hold up to 32 light bulbs.
|
||||
- tweak: Light replacers can be obtained through janitorial supply crates.
|
||||
- tweak: A sheet of glass fills the light replacer by 16 bulbs.
|
||||
2015-10-14:
|
||||
Hubblenaut:
|
||||
- bugfix: Airlock backup power test light properly offline when backup power down.
|
||||
- bugfix: Empty flavor texts no longer draw an empty line on examination.
|
||||
- bugfix: Material stacks now properly merge upon creation.
|
||||
- bugfix: Messages for adding to existing stack appear again.
|
||||
TheWelp:
|
||||
- rscdel: Removed higher Secret player requirements.
|
||||
|
||||
Reference in New Issue
Block a user