Skip to content

Commit

Permalink
September Release (#546)
Browse files Browse the repository at this point in the history
* Makes the Armalis tail look better (#512)

* Fixing the tail

* Fixes #510

Fixes #510

* Death to Yosh's unholy pet. (#514)

* Removes mimics.

Yosh you clod!

* Forgot the wall fix.

* Adds Floorlength Braid back (#519)

* Update sprite_accessories_vr.dm

* Delete human_face_vr.dmi

* Adds floorlength braid back

* Adds Citadel's red panda tail, also a colourable version. Also adds Holly's ears and tail for hoodoo, Adds silvertalismen to the list of people who can use deathclaw accessories as per the recent app, and fixes some out-of-place pixels on the screesuit just as long as I'm messing with sprites.

* Adds in taur specific void/rigsuits (#524)

* Code works, North & South works.

East and West still requires fixing, however.

* Has west sprites working, east still broke

* Another fix

* Reverts taursuits sprite adjustment, changing

it to just adjust the X variable

* Makes on floor sprite look correct

Updates icon when worn, too.

Still need to figure out how to set on-sprite pixel_16 to -16, though.

* Typo fix

* This works

The /taur voidsuits work like a charm.
With the rigsuits, it'll show the correct sprite for taurs while the
rigsuit is sealing, but after it seals up it'll revert to the old
sprite. To fix this, all someone has to do is toggle and retoggle the
chestpiece.

If someone else without a taur/a different taur goes to wear a
rigsuit/voidsuit someone previously wore it'll change to fit their taur.
Pretty neat!

Sprites provided by SilencedMP515
Also, thanks to Nightwing for helping me get this working when I ran
into a brick wall.

* Fixes

* Fixes floating pixels when facing west & taur hardsuit bugfix (#533)

* Fixes floating pixels when facing west

* Fixes a taur hardsuit related bug

* Reactivates Away Gate (#528)

* Added stomach.ogg and stomach tiles for later

* Updated some gateway maps, added new (unfinished) one

* Snowfield progress

* This map is pretty much done!

* Return of the Gateway Maps

* Optimization of various shit.

* Copies a small fix from Polaris

PolarisSS13/Polaris#2414

* Changed vore mob knockdown chance. Map fixes.

* Datraen corrects outstanding issues with away missions, separates certain parts of code into their own procs. (#532)

* Final commit.

- Tried to fix vore mobs not attacking prey once they are disabled.
- Various map fixes to be consistent with fixed gateway setup.
- Gave Markov bad grammar.
- Fixed polar bears not dying.
- Modernized all gateway maps except the clown temple which is still
broken.

* Fixes #537 (#538)

* September Polaris Sync (#545)

* Removes Captain as a title, sets default to Station Administrator, and adds a new title, Site Manager

* Fix atmo_control interface temperature reading

* Adds Multiple Alternative Titles

* Removed Supply Assistant

* Removed Sergeant

* Removed Computer Scientist

* Revert "Revert "Frame Cleanup""

This reverts commit 82722ba.

* Changed Supply Officer to Requisitions Officer

* Changed Requisitions Officer to Supply Chief and Removed Courier

* Removed Life Support Technician

* Removed Brig Officer

* Tweaks the lowest level of heat damage to be less insane

* Corrects damage amount for heat_damage_level_1

* Maybe Perhaps Last Major Technomancer PR
Adds ability to sort the spells section of the catalog into categories.  The categories available are 'All', 'Offensive', 'Defensive', 'Utility', and 'Support'.
Removes preset section on catalog as it was unused.
Projectile spells now have a sound when fired.
Haste lasts five seconds instead of three.
Repel Missiles lasts for five minutes instead of two.
All healing spells work five times as fast, healing in five seconds instead of twenty five seconds.  The amount of instability and healing done has been multiplied to remain consistent.
Passwall can now be used on more than just walls, if there's something dense on the same tile.
Force Missile is now 25% cheaper to cast, and has a cooldown of .5 seconds instead of one second, and does 5 more damage.
Beam's damage is increased by 10, and energy cost decreased by 25%.
Lightning's warm-up time is now one second instead of two.
Overload now costs 10% of total energy instead of 15%, and damage scaled with 4% of their current energy reserves, and 5% with the Scepter, instead of 3%/4%.  Additionally, instability per shot is lowered to 12 from 15.
Track now costs 25 points instead of 30 in the catalog, because roundness.
Fire Aura should look more impressive without a Scepter.
Fixes bug where shooting Lightning made you motionless for twenty seconds.

* Adds Multiple New Clothing Items

* Makes Loincloths only Availiable to Taj and Unathi

* Tweaks the contents of the captain's closet

* Smokables now give an approximation of how much longer they'll burn once lit

* make teshari not bad to play

* Tea Tweaks

- Minor changes to the color of some of the drinks such as tea and iced tea. Still not happy with the colors, but they seem better than before.
- Modification to the British cup sprite.
- Addition of a tea sprite for the coffee cups.

* fixes exception handling runtiming

* Adds missing error handler that made it difficult to debug runtimes.

* Corrects error handling proc

* Adds missing runtime viewer Topic calls.

Relocates them to the datum itself rather than it being an admin topic for maximum self-containment.
Also adds 'adminplayerobservefollow', making it possible for admins to not only jump to mobs but also follow them with a single click.
Misc tweaks from Paradise.

* gib population

* Adds the ash() mob proc, preps ninja suit

* Fixes #2352

* Changelog

* alt title

* Rigs now have suit coolers

* Map edit

- Fixes lighting in Security. Again.
- Fixes lighting in Library.
- Adds a new maint tunnel between engineering solars and atmos, now
outside the blast radius of SME explosions.

* Almost forgot emergency shutters.

* Examine Cigarette Lore

* Fixes Capitalization

* Eliminates colon

* Should clear up the usr issue

* Fixes cryopods of all types not setting occupant correctly.

* updates changelog

* Fixes runtime that occured if someone touched a blast door with an empty hand.

* Fixes check_rights() runtime.

* Adds magboots to ling spacesuits

* Adds Changelog

* Turret Fix
Turrets can now deploy properly and not be stuck in a state of deploying forever if a target is in range.

* Revert "Adds hub passwordu"

* Makes changeling recursive enhancement a passive power

* Corrects a description

* Adss changelog

* Add files via upload

* Changeling/Wizard/Future Stuff Hud Button Fix
Hopefully this stops the roundstop changeling hud wonkiness.

* Changes Mining Hardsuit slowdown to 1, from 3

* Widened hallway

* Speeds up arm_guard and leg_guard wearers slightly

* Forgot to use map cleanup tool.

* Adds changelog

* Adds changelog

* Minor Emitter Tweaks
Emitters no longer die by shooting a taser or laser tag gun at it.
Emitters don't explode if they are not on a powered wire with sufficient electricity in it.  They will just crumple away instead if integrity is reduced to zero.
Taking any damage to the emitter no longer results in instant death due to me being an idiot awhile ago.
Emitters can be examined to see if they are damaged, and can be repaired by applying metal sheets to it.

* Github, stop being stupid!

* Tweaks Sec Voidsuit values

* Fixes external airlocks

* Elevator-MMI fix

* Shoveling Snow

* Laptop ID Computer Fix
The manifest should now be updated correctly when using laptops.

* do_after is more immersive

* Fixes second bug involving inability to change title to station admin.

* Adds more unathi hair and facial options

* Adds the changelog

* Retweaks secret player requirements

* Updates changelog

* Fixes sprite not updating to not be floating when leaving non-gravity

* Adds changelog

* Fixes changeling revive not working when you're missing a limb

* Fixes #860

* Adds changelog

* Makes flash confused duration the same length as the flash blurry eyes

* Increases the change of lung rupturing

* Adds vomit as an emote

* Adds changelog

* Removes revolution shuttle delay

* Adds changelog

* Projectile flash rounds will now do the same as a flash when hitting a target

* Adds changelog

* Fixes dna-lockable gun explosion security level

* Drink Container Lore

* Decapitalizes 'Sleeper'  Because Why

* Fixes Grammatical/Flow/Sarcasm Errors

* Completes dna lockable guns implementation by adding a dna chip that can be added to guns

* Fixes + forgotten file

* Moves DNA locking stuff down to the item level rather than gun, also adds the ability to emag to remove the lock

* Adds changelog

* Adds the ability to wear ponchos as an accessory, also adds the ability to have ponchos as a suit accessory

* Adds changelog

* Closes 2 missing spans

* Adds secure briefcase to custom loadout

* Adds changelog

* Headgear Additions, and an Undershirt

* Medical splint buff and new ghetto splints.
Adds hands and feet to splint-splintable organs.
Also adds ghetto splints that can't do hands and feet.

* Fixed Sleeper... Again

* Renames "poncho" slot to "over"

* Speeds Hyperzine metabolism

* 1.5.8 Map bug fixes
-Fixed brit cup sprite.
- Replaced a maintenance door leading into atmospherics with one with the proper access.
- Fixed Missing Disposals pipe next to atmos.
- Tweaked some light placement in the main hallways.
- AI core redesign.
- Turned off medbay lobby intercom.
- Cyborg charging station added to prison wing.
- Cyborg charging station added to the research outpost.
- Medical rig suit added to medical.
- EVA rig suit for engineering added to EVA.
- Second  residential elevator installed. Due to budget cuts the size of the elevators has been reduced.

* Updates changelog

* Sombrero Code

* Fixes #2365

* Adds changelog

* Sleeper is evil.

* no message

* Changelog

* Stops observers from leaving prints on the ground.

No more spooking the mortals, ghosts.

* Allows autotraitor in secret to start with 0 players

* Adds changelog

* Makes diona slightly less slow

* Adds changelog

* Bowling Shirts

* Updates changelog

* Adds a missing description

* Flat Cap Changes and Hair Bow

* Fixed Error

* Adds an in-hand

* Lower Torso cannot be amputated

* Smoke works, adds changelog

* Updates changelog

* Makes Unathi Voidsuits Less Fat

* Medical related fixes

* Fuzzy Cuffs

* Tube Top

* Made Icons for Security Suit Less Gaunt

* Revert "Medical related fixes"

This reverts commit d7c5952.

* Just the fix to random med item now

* Fixes Evening Glove Coloring

* HAZMAT Suits

* Changes Unathi sprite slightly

* Tweaks skirt pathing

* Corrects changelog

* Adds changelog

* Construction Voidsuits

* makes people bleed real good

* adderino changeling

* Revert "Revert "Adds hub passwordu""

* Explosive implants should no longer gib on limbs.

* I still have no idea what I am doing.

* Resolves #331

* Allow unsetting custom species (Fixes #540) (#544)
  • Loading branch information
SpadesNeil committed Sep 12, 2016
1 parent 3324140 commit 707aac5
Show file tree
Hide file tree
Showing 402 changed files with 18,111 additions and 16,590 deletions.
1 change: 0 additions & 1 deletion code/ATMOSPHERICS/components/unary/cold_sink.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
/obj/machinery/atmospherics/unary/freezer/New()
..()
initialize_directions = dir
circuit = new circuit(src)
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
Expand Down
1 change: 0 additions & 1 deletion code/ATMOSPHERICS/components/unary/heat_source.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
/obj/machinery/atmospherics/unary/heater/New()
..()
initialize_directions = dir
circuit = new circuit(src)
component_parts = list()
component_parts += new /obj/item/weapon/stock_parts/matter_bin(src)
component_parts += new /obj/item/weapon/stock_parts/capacitor(src)
Expand Down
21 changes: 21 additions & 0 deletions code/_helpers/logging.dm
Original file line number Diff line number Diff line change
Expand Up @@ -162,3 +162,24 @@

/proc/key_name_admin(var/whom, var/include_name = 1)
return key_name(whom, 1, include_name)

// Helper procs for building detailed log lines
/datum/proc/log_info_line()
return "[src] ([type])"

/atom/log_info_line()
var/turf/t = get_turf(src)
if(istype(t))
return "([t]) ([t.x],[t.y],[t.z]) ([t.type])"
else if(loc)
return "([loc]) (0,0,0) ([loc.type])"
else
return "(NULL) (0,0,0) (NULL)"

/mob/log_info_line()
return "[..()] ([ckey])"

/proc/log_info_line(var/datum/d)
if(!istype(d))
return
return d.log_info_line()
2 changes: 1 addition & 1 deletion code/_onclick/hud/spell_screen_objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,8 @@
var/obj/screen/spell/S = spell_objects[i]
var/xpos = x_position + (x_position < 8 ? 1 : -1)*(i%7)
var/ypos = y_position + (y_position < 8 ? round(i/7) : -round(i/7))
S.screen_loc = "[encode_screen_X(xpos)]:[x_pix],[encode_screen_Y(ypos)]:[y_pix]"
if(spell_holder && spell_holder.client)
S.screen_loc = "[encode_screen_X(xpos)]:[x_pix],[encode_screen_Y(ypos)]:[y_pix]"
spell_holder.client.screen += S
S.handle_icon_updates = 1

Expand Down
4 changes: 1 addition & 3 deletions code/controllers/ProcessScheduler/core/process.dm
Original file line number Diff line number Diff line change
Expand Up @@ -327,9 +327,7 @@

/datum/controller/process/proc/catchException(var/exception/e, var/thrower)
if(istype(e)) // Real runtimes go to the real error handler
// There are two newlines here, because handling desc sucks
e.desc = " Caught by process: [name]\n\n" + e.desc
world.Error(e, e_src = thrower)
log_runtime(e, thrower, "Caught by process: [name]")
return
var/etext = "[e]"
var/eid = "[e]" // Exception ID, for tracking repeated exceptions
Expand Down
3 changes: 0 additions & 3 deletions code/controllers/master_controller.dm
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,6 @@ datum/controller/game_controller/New()
datum/controller/game_controller/proc/setup()
world.tick_lag = config.Ticklag

spawn(20)
createRandomZlevel()

setup_objects()
setupgenetics()
SetupXenoarch()
Expand Down
2 changes: 1 addition & 1 deletion code/datums/datacore.dm
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@
clothes_s = new /icon('icons/mob/uniform.dmi', "virologywhite_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "white"), ICON_UNDERLAY)
clothes_s.Blend(new /icon('icons/mob/suit.dmi', "labcoat_vir_open"), ICON_OVERLAY)
if("Captain")
if("Station Administrator")
clothes_s = new /icon('icons/mob/uniform.dmi', "captain_s")
clothes_s.Blend(new /icon('icons/mob/feet.dmi', "brown"), ICON_UNDERLAY)
if("Head of Security")
Expand Down
5 changes: 5 additions & 0 deletions code/datums/underwear/top.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@
icon_state = "halterneck_bra"
has_color = TRUE

/datum/category_item/underwear/top/tubetop
name = "Tube Top"
icon_state = "tubetop"
has_color = TRUE

/datum/category_item/underwear/top/fishnet_base
name = "Fishnet top"
icon_state = "fishnet_body"
Expand Down
23 changes: 22 additions & 1 deletion code/datums/underwear/undershirts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@
icon_state = "undershirt"
has_color = TRUE

/datum/category_item/underwear/undershirt/shirt_long
name = "Longsleeve Shirt"
icon_state = "undershirt_long"
has_color = TRUE

/datum/category_item/underwear/undershirt/tank_top
name = "Tank top"
icon_state = "tanktop"
Expand Down Expand Up @@ -62,4 +67,20 @@

/datum/category_item/underwear/undershirt/shirt_blue_striped
name = "Shirt, blue stripes"
icon_state = "shirt_stripes_s"
icon_state = "shirt_stripes_s"

/datum/category_item/underwear/undershirt/bowling
name = "Bowling Shirt, Red"
icon_state = "bowling"

/datum/category_item/underwear/undershirt/bowlingp
name = "Bowling Shirt, Pink"
icon_state = "bowlingp"

/datum/category_item/underwear/undershirt/bowlinga
name = "Bowling Shirt, Aqua"
icon_state = "bowlinga"

/datum/category_item/underwear/undershirt/bowlingw
name = "Bowling Shirt, White"
icon_state = "bowlingw"
2 changes: 1 addition & 1 deletion code/datums/wires/alarm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var/const/AALARM_WIRE_AALARM = 16

/datum/wires/alarm/CanUse(var/mob/living/L)
var/obj/machinery/alarm/A = holder
if(A.wiresexposed)
if(A.panel_open)
return 1
return 0

Expand Down
2 changes: 1 addition & 1 deletion code/defines/obj.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ var/global/list/PDA_Manifest = list()
heads[++heads.len] = list("name" = name, "rank" = rank, "active" = isactive)
department = 1
depthead = 1
if(rank=="Captain" && heads.len != 1)
if(rank=="Station Administrator" && heads.len != 1)
heads.Swap(1,heads.len)

if(real_rank in security_positions)
Expand Down
6 changes: 3 additions & 3 deletions code/game/antagonist/mutiny/mutineer.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ var/datum/antagonist/mutineer/mutineers
role_text_plural = "Mutineers"
id = MODE_MUTINEER
antag_indicator = "mutineer"
restricted_jobs = list("Captain")
restricted_jobs = list("Station Administrator")

/datum/antagonist/mutineer/New(var/no_reference)
..()
Expand Down Expand Up @@ -39,15 +39,15 @@ var/datum/antagonist/mutineer/mutineers
proc/get_head_loyalist_candidates()
var/list/candidates[0]
for(var/mob/loyalist in player_list)
if(loyalist.mind && loyalist.mind.assigned_role == "Captain")
if(loyalist.mind && loyalist.mind.assigned_role == "Station Administrator")
candidates.Add(loyalist.mind)
return candidates
proc/get_head_mutineer_candidates()
var/list/candidates[0]
for(var/mob/mutineer in player_list)
if(mutineer.client.prefs.be_special & BE_MUTINEER)
for(var/job in command_positions - "Captain")
for(var/job in command_positions - "Station Administrator")
if(mutineer.mind && mutineer.mind.assigned_role == job)
candidates.Add(mutineer.mind)
return candidates
Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/outsider/ert.dm
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ var/datum/antagonist/ert/ert
and before taking extreme actions, please try to also contact the administration! \
Think through your actions and make the roleplay immersive! <b>Please remember all \
rules aside from those without explicit exceptions apply to the ERT.</b>"
leader_welcome_text = "As leader of the Emergency Response Team, you answer only to the Company, and have authority to override the Captain where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the captain where possible, however."
leader_welcome_text = "As leader of the Emergency Response Team, you answer only to the Company, and have authority to override the Station Administrator where it is necessary to achieve your mission goals. It is recommended that you attempt to cooperate with the Station Administrator where possible, however."
landmark_id = "Response Team"
id_type = /obj/item/weapon/card/id/centcom/ERT

Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/outsider/raider.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ var/datum/antagonist/raider/raiders
/obj/item/clothing/suit/storage/toggle/hoodie,
/obj/item/clothing/suit/storage/toggle/hoodie/black,
/obj/item/clothing/suit/unathi/mantle,
/obj/item/clothing/suit/poncho,
/obj/item/clothing/accessory/poncho,
)

var/list/raider_guns = list(
Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/station/changeling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
bantype = "changeling"
feedback_tag = "changeling_objective"
restricted_jobs = list("AI", "Cyborg")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain")
protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Security", "Station Administrator")
welcome_text = "Use say \"#g message\" to communicate with your fellow changelings. Remember: you get all of their absorbed DNA if you absorb them."
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE
antaghud_indicator = "hudchangeling"
Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/station/cultist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ var/datum/antagonist/cultist/cult
role_text = "Cultist"
role_text_plural = "Cultists"
bantype = "cultist"
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Head of Security", "Captain")
restricted_jobs = list("Chaplain","AI", "Cyborg", "Internal Affairs Agent", "Head of Security", "Station Administrator")
protected_jobs = list("Security Officer", "Warden", "Detective")
role_type = BE_CULTIST
feedback_tag = "cult_objective"
Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/station/revolutionary.dm
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ var/datum/antagonist/revolutionary/revs
faction_indicator = "rev"
faction_invisible = 1

restricted_jobs = list("Internal Affairs Agent", "AI", "Cyborg","Captain", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer")
restricted_jobs = list("Internal Affairs Agent", "AI", "Cyborg", "Station Administrator", "Head of Personnel", "Head of Security", "Chief Engineer", "Research Director", "Chief Medical Officer")
protected_jobs = list("Security Officer", "Warden", "Detective")

/datum/antagonist/revolutionary/New()
Expand Down
2 changes: 1 addition & 1 deletion code/game/antagonist/station/traitor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ var/datum/antagonist/traitor/traitors
// Inherits most of its vars from the base datum.
/datum/antagonist/traitor
id = MODE_TRAITOR
protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Captain")
protected_jobs = list("Security Officer", "Warden", "Detective", "Internal Affairs Agent", "Head of Security", "Station Administrator")
flags = ANTAG_SUSPICIOUS | ANTAG_RANDSPAWN | ANTAG_VOTABLE

/datum/antagonist/traitor/auto
Expand Down
58 changes: 58 additions & 0 deletions code/game/area/Away Mission areas.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/area/awaymission
name = "\improper Unknown Location"
icon_state = "away"
var/list/valid_spawn_turfs = list()
var/list/valid_mobs = list()
var/list/valid_flora = list()
var/mobcountmax = 0
var/floracountmax = 0

/area/awaymission/proc/EvalValidSpawnTurfs()
//Adds turfs to the valid)turfs list, used for spawning.
for(var/turf/simulated/floor/F in src)
valid_spawn_turfs |= F
for(var/turf/unsimulated/floor/F in src)
valid_spawn_turfs |= F

/area/awaymission/initialize()
..()
sleep(180)
EvalValidSpawnTurfs()

if(!valid_spawn_turfs.len)
world.log << "Error! [src] does not have any turfs!"
return TRUE

//Handles random mob placement for mobcountmax, as defined/randomized in initialize of each individual area.
spawn_mob_on_turf()

//Handles random flora placement for floracountmax, as defined/randomized in initialize of each individual area.
spawn_flora_on_turf()

world << "Away mission spawning done."

/area/awaymission/proc/spawn_mob_on_turf()
if(!valid_mobs.len)
world.log << "[src] does not have a set valid mobs list!"
return TRUE

var/mob/M
var/turf/Turf
for(var/mobscount = 0 to mobcountmax)
M = pick(valid_mobs)
Turf = pick(valid_spawn_turfs)
valid_spawn_turfs -= Turf
new M(Turf)

/area/awaymission/proc/spawn_flora_on_turf()
if(!valid_flora.len)
world.log << "[src] does not have a set valid flora list!"
return TRUE

var/obj/F
var/turf/Turf
for(var/floracount = 0 to floracountmax)
F = pick(valid_flora)
Turf = pick(valid_spawn_turfs)
valid_spawn_turfs -= Turf
new F(Turf)
2 changes: 1 addition & 1 deletion code/game/area/Space Station 13 areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -1137,7 +1137,7 @@ area/space/atmosalert()
sound_env = MEDIUM_SOFTFLOOR

/area/crew_quarters/captain
name = "\improper Command - Captain's Office"
name = "\improper Command - Station Administrator's Office"
icon_state = "captain"
sound_env = MEDIUM_SOFTFLOOR

Expand Down
7 changes: 6 additions & 1 deletion code/game/area/Space Station 13 areas_vr.dm
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,9 @@
flags = RAD_SHIELDED

/area/crew_quarters/sleep/vistor_room_12
flags = RAD_SHIELDED
flags = RAD_SHIELDED

/area/teleporter/departing
name = "\improper Long-Range Teleporter"
icon_state = "teleporter"
music = "signal"
2 changes: 1 addition & 1 deletion code/game/gamemodes/changeling/changeling.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
certain though... there is never just one of them. Good luck."
config_tag = "changeling"
required_players = 2
required_players_secret = 2
required_players_secret = 3
required_enemies = 1
end_on_antag_death = 0
antag_scaling_coeff = 10
Expand Down
30 changes: 22 additions & 8 deletions code/game/gamemodes/changeling/generic_equip_procs.dm
Original file line number Diff line number Diff line change
@@ -1,24 +1,34 @@
//This is a generic proc that should be called by other ling armor procs to equip them.
/mob/proc/changeling_generic_armor(var/armor_type, var/helmet_type)
var/datum/changeling/changeling = changeling_power(20,1,100,CONSCIOUS)
if(!changeling)
return
/mob/proc/changeling_generic_armor(var/armor_type, var/helmet_type, var/boot_type, var/chem_cost)

if(!ishuman(src))
return 0

var/mob/living/carbon/human/M = src

if(istype(M.wear_suit, armor_type) || istype(M.head, helmet_type) || istype(M.shoes, boot_type))
chem_cost = 0

var/datum/changeling/changeling = changeling_power(chem_cost, 1, 100, CONSCIOUS)

if(!changeling)
return

//First, check if we're already wearing the armor, and if so, take it off.
if(istype(M.wear_suit, armor_type) || istype(M.head, helmet_type))
if(istype(M.wear_suit, armor_type) || istype(M.head, helmet_type) || istype(M.shoes, boot_type))
M.visible_message("<span class='warning'>[M] casts off their [M.wear_suit.name]!</span>",
"<span class='warning'>We cast off our [M.wear_suit.name]</span>",
"<span class='italics'>You hear the organic matter ripping and tearing!</span>")
qdel(M.wear_suit)
qdel(M.head)
if(istype(M.wear_suit, armor_type))
qdel(M.wear_suit)
if(istype(M.head, helmet_type))
qdel(M.head)
if(istype(M.shoes, boot_type))
qdel(M.shoes)
M.update_inv_wear_suit()
M.update_inv_head()
M.update_hair()
M.update_inv_shoes()
return 1

if(M.head || M.wear_suit) //Make sure our slots aren't full
Expand All @@ -31,11 +41,15 @@
var/obj/item/clothing/suit/H = new helmet_type(src)
src.equip_to_slot_or_del(H, slot_head)

src.mind.changeling.chem_charges -= 20
var/obj/item/clothing/shoes/B = new boot_type(src)
src.equip_to_slot_or_del(B, slot_shoes)

src.mind.changeling.chem_charges -= chem_cost
playsound(src, 'sound/effects/blobattack.ogg', 30, 1)
M.update_inv_wear_suit()
M.update_inv_head()
M.update_hair()
M.update_inv_shoes()
return 1

/mob/proc/changeling_generic_equip_all_slots(var/list/stuff_to_equip, var/cost)
Expand Down
5 changes: 4 additions & 1 deletion code/game/gamemodes/changeling/powers/armblade.dm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
if(src.mind.changeling.recursive_enhancement)
if(changeling_generic_weapon(/obj/item/weapon/melee/arm_blade/greater))
src << "<span class='notice'>We prepare an extra sharp blade.</span>"
src.mind.changeling.recursive_enhancement = 0
return 1

else
Expand Down Expand Up @@ -68,6 +67,10 @@
creator = null
..()

/obj/item/weapon/melee/arm_blade/suicide_act(mob/user)
viewers(user) << "<span class='danger'>[user] is impaling \himself the [src.name]! It looks like \he's trying to commit suicide.</span>"
return(BRUTELOSS)

/obj/item/weapon/melee/arm_blade/process() //Stolen from ninja swords.
if(!creator || loc != creator || !creator.item_is_in_hands(src))
// Tidy up a bit.
Expand Down

0 comments on commit 707aac5

Please sign in to comment.