Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -22,3 +22,5 @@
|
||||
#define POLICYCONFIG_ON_DEFIB_LATE "ON_DEFIB_LATE"
|
||||
/// Displayed to pyroclastic slimes on spawn
|
||||
#define POLICYCONFIG_ON_PYROCLASTIC_SENTIENT "PYROCLASTIC_SLIME"
|
||||
/// Displayed to pAIs on spawn
|
||||
#define POLICYCONFIG_PAI "PAI_SPAWN"
|
||||
|
||||
@@ -44,7 +44,8 @@
|
||||
icon_state = "colormate"
|
||||
|
||||
/obj/machinery/gear_painter/Destroy()
|
||||
inserted.forceMove(drop_location())
|
||||
if(inserted) //please i beg you do not drop nulls
|
||||
inserted.forceMove(drop_location())
|
||||
return ..()
|
||||
|
||||
/obj/machinery/gear_painter/attackby(obj/item/I, mob/living/user)
|
||||
|
||||
@@ -122,7 +122,10 @@
|
||||
/obj/item/paicard/proc/setPersonality(mob/living/silicon/pai/personality)
|
||||
src.pai = personality
|
||||
src.add_overlay("pai-null")
|
||||
|
||||
var/list/policies = CONFIG_GET(keyed_list/policyconfig)
|
||||
var/policy = policies[POLICYCONFIG_PAI]
|
||||
if(policy)
|
||||
to_chat(personality, policy)
|
||||
playsound(loc, 'sound/effects/pai_boot.ogg', 50, 1, -1)
|
||||
audible_message("\The [src] plays a cheerful startup noise!")
|
||||
|
||||
|
||||
@@ -256,6 +256,8 @@
|
||||
|
||||
/datum/gas_reaction/fusion/react(datum/gas_mixture/air, datum/holder)
|
||||
var/turf/open/location
|
||||
if (isopenturf(holder))
|
||||
return
|
||||
if (istype(holder,/datum/pipeline)) //Find the tile the reaction is occuring on, or a random part of the network if it's a pipenet.
|
||||
var/datum/pipeline/fusion_pipenet = holder
|
||||
location = get_turf(pick(fusion_pipenet.members))
|
||||
|
||||
@@ -13,7 +13,7 @@ GLOBAL_VAR_INIT(normal_aooc_colour, "#ce254f")
|
||||
if(!mob)
|
||||
return
|
||||
|
||||
if(!(prefs.toggles & CHAT_OOC))
|
||||
if(!(prefs.chat_toggles & CHAT_OOC))
|
||||
to_chat(src, "<span class='danger'> You have OOC muted.</span>")
|
||||
return
|
||||
if(jobban_isbanned(mob, "OOC"))
|
||||
|
||||
@@ -138,3 +138,27 @@
|
||||
icon_state = "greyturtle"
|
||||
item_state = "greyturtle"
|
||||
can_adjust = FALSE
|
||||
|
||||
/obj/item/clothing/under/suit/turtle/purple
|
||||
name = "purple turtleneck"
|
||||
icon_state = "turtle_sci"
|
||||
item_state = "turtle_sci"
|
||||
can_adjust = FALSE
|
||||
|
||||
/obj/item/clothing/under/suit/turtle/orange
|
||||
name = "orange turtleneck"
|
||||
icon_state = "turtle_eng"
|
||||
item_state = "turtle_eng"
|
||||
can_adjust = FALSE
|
||||
|
||||
/obj/item/clothing/under/suit/turtle/red
|
||||
name = "red turtleneck"
|
||||
icon_state = "turtle_sec"
|
||||
item_state = "turtle_sec"
|
||||
can_adjust = FALSE
|
||||
|
||||
/obj/item/clothing/under/suit/turtle/blue
|
||||
name = "blue turtleneck"
|
||||
icon_state = "turtle_med"
|
||||
item_state = "turtle_med"
|
||||
can_adjust = FALSE
|
||||
|
||||
@@ -21,27 +21,6 @@
|
||||
new /obj/item/reagent_containers/food/snacks/candyheart(B)
|
||||
new /obj/item/storage/fancy/heart_box(B)
|
||||
|
||||
var/list/valentines = list()
|
||||
for(var/mob/living/M in GLOB.player_list)
|
||||
if(!M.stat && M.client && M.mind && !HAS_TRAIT(M, TRAIT_NO_MIDROUND_ANTAG))
|
||||
valentines |= M
|
||||
|
||||
|
||||
while(valentines.len)
|
||||
var/mob/living/L = pick_n_take(valentines)
|
||||
if(valentines.len)
|
||||
var/mob/living/date = pick_n_take(valentines)
|
||||
|
||||
|
||||
forge_valentines_objective(L, date)
|
||||
forge_valentines_objective(date, L)
|
||||
|
||||
if(valentines.len && prob(4))
|
||||
var/mob/living/notgoodenough = pick_n_take(valentines)
|
||||
forge_valentines_objective(notgoodenough, date)
|
||||
else
|
||||
L.mind.add_antag_datum(/datum/antagonist/heartbreaker)
|
||||
|
||||
/proc/forge_valentines_objective(mob/living/lover,mob/living/date,var/chemLove = FALSE)
|
||||
lover.mind.special_role = "valentine"
|
||||
if (chemLove == TRUE)
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/datum/round_event_control/supermatter_surge
|
||||
name = "Supermatter Surge"
|
||||
typepath = /datum/round_event/supermatter_surge
|
||||
weight = 20
|
||||
max_occurrences = 4
|
||||
earliest_start = 10 MINUTES
|
||||
|
||||
/datum/round_event_control/supermatter_surge/canSpawnEvent()
|
||||
if(GLOB.main_supermatter_engine?.has_been_powered)
|
||||
return ..()
|
||||
|
||||
/datum/round_event/supermatter_surge
|
||||
var/power = 2000
|
||||
|
||||
/datum/round_event/supermatter_surge/setup()
|
||||
power = rand(200,4000)
|
||||
|
||||
/datum/round_event/supermatter_surge/announce()
|
||||
if(power > 800 || prob(round(power/8)))
|
||||
priority_announce("Class [round(power/500) + 1] supermatter surge detected. Intervention may be required.", "Anomaly Alert")
|
||||
|
||||
/datum/round_event/supermatter_surge/start()
|
||||
GLOB.main_supermatter_engine.matter_power += power
|
||||
@@ -97,6 +97,7 @@
|
||||
if(myseed.mutatelist.len > 0)
|
||||
myseed.instability = (myseed.instability/2)
|
||||
mutatespecie()
|
||||
return BULLET_ACT_HIT
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -80,6 +80,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
var/list/inherent_traits = list()
|
||||
var/inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID
|
||||
|
||||
var/list/blacklisted_quirks = list() // Quirks that will be removed upon gaining this species, to be defined by species
|
||||
var/list/removed_quirks = list() // Quirks that got removed due to being blacklisted, and will be restored when on_species_loss() is called
|
||||
|
||||
var/attack_verb = "punch" // punch-specific attack verb
|
||||
var/sound/attack_sound = 'sound/weapons/punch1.ogg'
|
||||
var/sound/miss_sound = 'sound/weapons/punchmiss.ogg'
|
||||
@@ -342,6 +345,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
for(var/X in inherent_traits)
|
||||
ADD_TRAIT(C, X, SPECIES_TRAIT)
|
||||
|
||||
//lets remove those conflicting quirks
|
||||
remove_blacklisted_quirks(C)
|
||||
|
||||
if(TRAIT_VIRUSIMMUNE in inherent_traits)
|
||||
for(var/datum/disease/A in C.diseases)
|
||||
A.cure(FALSE)
|
||||
@@ -395,6 +401,9 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
for(var/X in inherent_traits)
|
||||
REMOVE_TRAIT(C, X, SPECIES_TRAIT)
|
||||
|
||||
// lets restore the quirks that got removed when gaining this species
|
||||
restore_quirks(C)
|
||||
|
||||
C.remove_movespeed_modifier(/datum/movespeed_modifier/species)
|
||||
|
||||
if(mutant_bodyparts["meat_type"])
|
||||
@@ -424,6 +433,26 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
|
||||
|
||||
SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src)
|
||||
|
||||
// shamelessly inspired by antag_datum.remove_blacklisted_quirks()
|
||||
/datum/species/proc/remove_blacklisted_quirks(mob/living/carbon/C)
|
||||
var/mob/living/L = C.mind?.current
|
||||
if(istype(L))
|
||||
var/list/my_quirks = L.client?.prefs.all_quirks.Copy()
|
||||
SSquirks.filter_quirks(my_quirks, blacklisted_quirks)
|
||||
for(var/q in L.roundstart_quirks)
|
||||
var/datum/quirk/Q = q
|
||||
if(!(SSquirks.quirk_name_by_path(Q.type) in my_quirks))
|
||||
L.remove_quirk(Q.type)
|
||||
removed_quirks += Q.type
|
||||
|
||||
// restore any quirks that we removed
|
||||
/datum/species/proc/restore_quirks(mob/living/carbon/C)
|
||||
var/mob/living/L = C.mind?.current
|
||||
if(istype(L))
|
||||
for(var/q in removed_quirks)
|
||||
L.add_quirk(q)
|
||||
|
||||
|
||||
/datum/species/proc/handle_hair(mob/living/carbon/human/H, forced_colour)
|
||||
H.remove_overlay(HAIR_LAYER)
|
||||
var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD)
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
armor = 20 // 120 damage to KO a zombie, which kills it
|
||||
speedmod = 1.6 // they're very slow
|
||||
mutanteyes = /obj/item/organ/eyes/night_vision/zombie
|
||||
blacklisted_quirks = list(/datum/quirk/nonviolent)
|
||||
var/heal_rate = 1
|
||||
var/regen_cooldown = 0
|
||||
|
||||
|
||||
@@ -424,7 +424,7 @@ Difficulty: Very Hard
|
||||
|
||||
/obj/machinery/anomalous_crystal/honk //Strips and equips you as a clown. I apologize for nothing
|
||||
observer_desc = "This crystal strips and equips its targets as clowns."
|
||||
possible_methods = list(ACTIVATE_MOB_BUMP, ACTIVATE_SPEECH)
|
||||
possible_methods = list(ACTIVATE_TOUCH) //Because We love AOE transformations!
|
||||
activation_sound = 'sound/items/bikehorn.ogg'
|
||||
|
||||
/obj/machinery/anomalous_crystal/honk/ActivationReaction(mob/user)
|
||||
|
||||
@@ -398,6 +398,14 @@ Difficulty: Medium
|
||||
crusher_loot = list()
|
||||
butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/lesser/transformed //ash drake balanced around player control
|
||||
name = "transformed ash drake"
|
||||
desc = "A sentient being transformed into an ash drake"
|
||||
mob_size = MOB_SIZE_HUMAN //prevents crusher vulnerability
|
||||
move_force = MOVE_FORCE_NORMAL //stops them from destroying and unanchoring shit by walking into it
|
||||
environment_smash = ENVIRONMENT_SMASH_STRUCTURES //no we dont want sentient megafauna be able to delete the entire station in a minute flat
|
||||
damage_coeff = list(BRUTE = 0.7, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1) //200 health but not locked to standard movespeed, needs armor befitting of a dragon
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/lesser/grant_achievement(medaltype,scoretype)
|
||||
return
|
||||
|
||||
@@ -413,7 +421,8 @@ Difficulty: Medium
|
||||
if(L in hit_list || L == source)
|
||||
continue
|
||||
hit_list += L
|
||||
L.adjustFireLoss(20)
|
||||
L.adjustFireLoss(5)
|
||||
L.adjust_fire_stacks(6)
|
||||
to_chat(L, "<span class='userdanger'>You're hit by [source]'s fire breath!</span>")
|
||||
|
||||
// deals damage to mechs
|
||||
|
||||
@@ -42,6 +42,8 @@
|
||||
A.GiveTarget(target)
|
||||
A.friends = friends
|
||||
A.faction = faction.Copy()
|
||||
if(!A == /mob/living/simple_animal/hostile/poison/bees/toxin)
|
||||
A.my_creator = type
|
||||
ranged_cooldown = world.time + ranged_cooldown_time
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/AttackingTarget()
|
||||
@@ -88,6 +90,7 @@
|
||||
density = FALSE
|
||||
del_on_death = 1
|
||||
var/swarming = FALSE
|
||||
var/my_creator = null
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Initialize()
|
||||
. = ..()
|
||||
@@ -205,11 +208,7 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H)
|
||||
visible_message("<span class='warning'>[name] burrows into the flesh of [H]!</span>")
|
||||
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L
|
||||
if(HAS_TRAIT(H, TRAIT_DWARF)) //dwarf legions aren't just fluff!
|
||||
L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(H.loc)
|
||||
else
|
||||
L = new(H.loc)
|
||||
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L = check_infest_type(H)
|
||||
visible_message("<span class='warning'>[L] staggers to [L.p_their()] feet!</span>")
|
||||
H.death()
|
||||
H.adjustBruteLoss(1000)
|
||||
@@ -217,6 +216,20 @@
|
||||
H.forceMove(L)
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/check_infest_type(mob/living/carbon/human/human)
|
||||
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L
|
||||
var/list/blacklisted_types = list(/mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf)
|
||||
if(HAS_TRAIT(human, TRAIT_DWARF)) //dwarf legions aren't just fluff!
|
||||
L = new /mob/living/simple_animal/hostile/asteroid/hivelord/legion/dwarf(human.loc)
|
||||
else if(my_creator)
|
||||
if(my_creator in blacklisted_types)
|
||||
L = new(human.loc)
|
||||
else
|
||||
L = new my_creator(human.loc)
|
||||
else
|
||||
L = new(human.loc)
|
||||
return L
|
||||
|
||||
//Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions)
|
||||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced
|
||||
stat_attack = DEAD
|
||||
|
||||
@@ -178,10 +178,7 @@
|
||||
|
||||
new /obj/effect/temp_visual/monkeyify/humanify(loc)
|
||||
|
||||
transformation_timer = addtimer(CALLBACK(src, .proc/finish_humanize, tr_flags), TRANSFORMATION_DURATION, TIMER_UNIQUE)
|
||||
|
||||
/mob/living/carbon/proc/finish_humanize(tr_flags)
|
||||
transformation_timer = null
|
||||
sleep(TRANSFORMATION_DURATION) //This entire proc CANNOT be split into two
|
||||
|
||||
var/list/stored_implants = list()
|
||||
var/list/int_organs = list()
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
desc = "Take on the shape a lesser ash drake."
|
||||
invocation = "RAAAAAAAAWR!"
|
||||
|
||||
shapeshift_type = /mob/living/simple_animal/hostile/megafauna/dragon/lesser
|
||||
shapeshift_type = /mob/living/simple_animal/hostile/megafauna/dragon/lesser/transformed
|
||||
|
||||
|
||||
/obj/shapeshift_holder
|
||||
|
||||
+4
-1
@@ -3,7 +3,10 @@
|
||||
## ON_CLONE - displayed after a successful cloning operation to the cloned person
|
||||
## ON_DEFIB_INTACT - displayed after defibbing before memory loss time threshold
|
||||
## ON_DEFIB_LATE - displayed after defibbing post memory loss time threshold
|
||||
##
|
||||
## SDGF - displayed on SDGF clone spawning
|
||||
## SDGF_GOOD - displayed on SDGF clone spawning, if the clone is loyal
|
||||
## SDGF_BAD - displayed on SDGF clone spawning, if the clone is not loyal
|
||||
## PAI - displayed on PAI personality being loaded
|
||||
## EXAMPLE:
|
||||
## POLICYCONFIG ON_CLONE insert text here <span class='notice'>span classes are fully supported</span>
|
||||
|
||||
|
||||
@@ -50,6 +50,28 @@
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
|
||||
<h2 class="date">02 March 2021</h2>
|
||||
<h3 class="author">LetterN updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">colorpainter: let's not dispense null</li>
|
||||
</ul>
|
||||
<h3 class="author">SandPoot updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Changelings will actually become the person they want to be when using "human form" ability(after having used last resort).</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">01 March 2021</h2>
|
||||
<h3 class="author">SmArtKar updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Fixes decks breaking your screen</li>
|
||||
<li class="bugfix">Fixes binders not saving cards</li>
|
||||
<li class="bugfix">Fixes binders not saving multiple cards of the same type</li>
|
||||
</ul>
|
||||
<h3 class="author">Vynzill updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">cursed rice hat right in front of the jungle gateway's entrance is now removed from this dimensional plane</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">28 February 2021</h2>
|
||||
<h3 class="author">Putnam3145 updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -28628,3 +28628,17 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
|
||||
- tweak: Body rejuvenation surgery will loop until the patient is completely healed.
|
||||
dzahlus:
|
||||
- bugfix: fixes toxinlovers dying from heretic stuff that should heal them instead
|
||||
2021-03-01:
|
||||
SmArtKar:
|
||||
- bugfix: Fixes decks breaking your screen
|
||||
- bugfix: Fixes binders not saving cards
|
||||
- bugfix: Fixes binders not saving multiple cards of the same type
|
||||
Vynzill:
|
||||
- bugfix: cursed rice hat right in front of the jungle gateway's entrance is now
|
||||
removed from this dimensional plane
|
||||
2021-03-02:
|
||||
LetterN:
|
||||
- bugfix: 'colorpainter: let''s not dispense null'
|
||||
SandPoot:
|
||||
- bugfix: Changelings will actually become the person they want to be when using
|
||||
"human form" ability(after having used last resort).
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "SandPoot"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Legions should now pass their type to the person they infect (if valid)."
|
||||
@@ -1,6 +0,0 @@
|
||||
author: "SmArtKar"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fixes decks breaking your screen"
|
||||
- bugfix: "Fixes binders not saving cards"
|
||||
- bugfix: "Fixes binders not saving multiple cards of the same type"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "Fusion can no longer be done in open air."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "\"Supermatter surge\" event, which might cause problems if the supermatter is not sufficiently cooled (i.e. the setup is messed up in some way)"
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscdel: "Valentine's day event no longer gives everyone a valentine's antag."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: "Putnam3145"
|
||||
delete-after: True
|
||||
changes:
|
||||
- config: "pAIs now have a policy config"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "dzahlus"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Added new subtype to lesser ash drake balanced around player control"
|
||||
- balance: "rebalanced dragon transformation to a 1 minute cooldown as well as using the new subtype of megafauna"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "qweq12yt"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "fixed infectious zombies not being able to attack if host was pacifist"
|
||||
- rscadd: "adds a way for species to have blacklisted quirks, the removal, and restoration of said quirks upon species changes"
|
||||
@@ -1,4 +0,0 @@
|
||||
author: "Vynzill"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "cursed rice hat right in front of the jungle gateway's entrance is now removed from this dimensional plane"
|
||||
@@ -0,0 +1,5 @@
|
||||
author: "MarinaGryphon"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "The AOOC mute pref is now properly respected."
|
||||
- bugfix: "Muting adminhelp sounds no longer mutes AOOC."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 456 KiB After Width: | Height: | Size: 460 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 132 KiB After Width: | Height: | Size: 133 KiB |
@@ -236,6 +236,22 @@
|
||||
name = "Grey Turtleneck"
|
||||
path = /obj/item/clothing/under/suit/turtle/grey
|
||||
|
||||
/datum/gear/uniform/purpleturtle
|
||||
name = "Purple Turtleneck"
|
||||
path = /obj/item/clothing/under/suit/turtle/purple
|
||||
|
||||
/datum/gear/uniform/orangeturtle
|
||||
name = "Orange Turtleneck"
|
||||
path = /obj/item/clothing/under/suit/turtle/orange
|
||||
|
||||
/datum/gear/uniform/blueturtle
|
||||
name = "Blue Turtleneck"
|
||||
path = /obj/item/clothing/under/suit/turtle/blue
|
||||
|
||||
/datum/gear/uniform/redturtle
|
||||
name = "Red Turtleneck"
|
||||
path = /obj/item/clothing/under/suit/turtle/red
|
||||
|
||||
/datum/gear/uniform/polyjump
|
||||
name = "Polychromic Jumpsuit"
|
||||
path = /obj/item/clothing/under/misc/polyjumpsuit
|
||||
|
||||
@@ -2060,6 +2060,7 @@
|
||||
#include "code\modules\events\spider_infestation.dm"
|
||||
#include "code\modules\events\spontaneous_appendicitis.dm"
|
||||
#include "code\modules\events\stray_cargo.dm"
|
||||
#include "code\modules\events\supermatter_surge.dm"
|
||||
#include "code\modules\events\travelling_trader.dm"
|
||||
#include "code\modules\events\vent_clog.dm"
|
||||
#include "code\modules\events\wisdomcow.dm"
|
||||
|
||||
Reference in New Issue
Block a user