Skip to content

Commit

Permalink
Awaymission: Caves (#366)
Browse files Browse the repository at this point in the history
<!-- Пишите **НИЖЕ** заголовков и **ВЫШЕ** комментариев, иначе что то
может пойти не так. -->
<!-- Вы можете прочитать Contributing.MD, если хотите узнать больше. -->

## Что этот PR делает

Добавление нового гейта: мрачные пещеры, землетрясение в которых
разрушило маленький шахтерский аванпост и оголило бездонные расселины и
пропасти (port/remap Caves from Skyrat).
В модули добавлено: зоны, новые симплмобы, разбитый под клонирования,
декаль лого СолГова, могилы - ящики, проклятое колечко (да поможет мне
Бог с его кодом).

Новые симплмобы: древний маг, клоунское отродье (когда-нибудь боссы
перестануть быть просто симплами переростками..).

Лут: первые 3 пещеры - ресурсы, материалы, инструменты, энергобластер 1
штука, 2 КА, 3 модуля к КА, шахтерская утварь, 2 шахтерский МОДсьюта без
модификаций, 3 модификации к шахтерским МОДсьютам, одежда, деньги в
количестве 100 кредитов.
4 пещера - 2 энергобластера, бумажка с исследованиями, секретные
документы, одежда СолГова, M1911, дизейблер, инструменты, материалы.
5 пещера - одежда, книги заклинаний (дым, призыв вещи, перезарядка),
брюлики, лут с древнего мага.
6 пещера - вещи культа, искаженный металл, колечко.

Большую часть контента можно урезать/поменять.

## Почему это хорошо для игры

Больше гейтов - больше гейтов (это не хорошо)

## Изображения изменений

![image](https://github.com/ss220club/Paradise-SS220/assets/139562134/e37c2de2-60c4-4ae2-8553-9c7e46d0db4e)


## Тестирование
На локалке работает, маленькие проблемы с просадкой фпс на Z уровне,
возможно придется поменять там атмос на обычный.

## Changelog

:cl:
add: новая карта для гейта: caves; новые симплмобы; косметические
объекты для карты.
/:cl:

<!-- Оба :cl:'а должны быть на месте, что-бы чейнджлог работал! Вы
можете написать свой ник справа от первого :cl:, если хотите. Иначе
будет использован ваш ник на ГитХабе. -->
<!-- Вы можете использовать несколько записей с одинаковым префиксом
(Они используются только для иконки в игре) и удалить ненужные. Помните,
что чейнджлог должен быть понятен обычным игроком. -->
<!-- Если чейнджлог не влияет на игроков(например, это рефактор), вы
можете исключить всю секцию. -->
  • Loading branch information
konushi authored and Furrior committed Oct 22, 2023
1 parent fa299ba commit 07ba253
Show file tree
Hide file tree
Showing 13 changed files with 54,300 additions and 1 deletion.
54,148 changes: 54,148 additions & 0 deletions _maps/map_files220/RandomZLevels/caves.dmm

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions config/example/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -853,6 +853,7 @@ enabled_away_missions = [
"_maps/map_files220/RandomZLevels/wildwest.dmm",
"_maps/map_files220/RandomZLevels/blackmarketpackers.dmm",
"_maps/map_files220/RandomZLevels/gate_lizard.dmm",
"_maps/map_files220/RandomZLevels/caves.dmm",
]


Expand Down
Binary file not shown.
19 changes: 19 additions & 0 deletions modular_ss220/maps220/code/Areas/gateway.dm
Original file line number Diff line number Diff line change
Expand Up @@ -269,3 +269,22 @@
name = "MC-16"
icon_state = "awaycontent9"
ambientsounds = list('modular_ss220/aesthetics_sounds/sound/area_ambient/ambient_pulse1.ogg', 'modular_ss220/aesthetics_sounds/sound/area_ambient/ambient_pulse2.ogg')

/* Caves */
/area/awaymission/caves
name = "Caves"
icon_state = "away"
report_alerts = FALSE
always_unpowered = TRUE
dynamic_lighting = DYNAMIC_LIGHTING_FORCED

/area/awaymission/caves/build
name = "Abandoned building"
icon_state = "awaycontent1"
always_unpowered = FALSE
requires_power = FALSE

/area/awaymission/caves/build/reqpower_build
name = "Research Сomplex ''Mirror''"
icon_state = "awaycontent2"
requires_power = TRUE
9 changes: 9 additions & 0 deletions modular_ss220/maps220/code/effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,12 @@

/obj/effect/turf_decal/siding/black/full
icon_state = "bs_full"

/* Awaymission - Caves */
//Decals
/obj/effect/decal/solgov_logo
name = "SolGov logo"
icon = 'modular_ss220/maps220/icons/syndie_logo.dmi'
icon_state = "sol_logo1"
layer = TURF_LAYER
desc = "Glory to humanity!"
51 changes: 51 additions & 0 deletions modular_ss220/maps220/code/mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,29 @@
melee_damage_upper = 30
speed = -1

/mob/living/simple_animal/hostile/skeleton/deadwizard
name = "древний маг"
desc = "Древний волшебник, тысячелетиями властвующий над проклятым могильником."
icon = 'modular_ss220/maps220/icons/simple_human.dmi'
icon_living = "deadwizard"
icon_state = "deadwizard"
maxHealth = 300
health = 300
ranged = 1
rapid = 4
rapid_fire_delay = 1
retreat_distance = 4
minimum_distance = 4
del_on_death = 1
projectiletype = /obj/item/projectile/magic/arcane_barrage
projectilesound = 'sound/magic/blind.ogg'
loot = list(
/obj/effect/decal/remains/human,
/obj/item/clothing/head/crown,
/obj/item/clothing/suit/imperium_monk,
/obj/effect/particle_effect/smoke/bad,
/obj/item/necromantic_stone)

/* Vox Raiders */
/mob/living/simple_animal/hostile/vox
name = "Vox Raider"
Expand Down Expand Up @@ -569,3 +592,31 @@
faction = list("spooky")
del_on_death = TRUE
random_color = FALSE

/* Clown */
/mob/living/simple_animal/hostile/clown/mutant
name = "неизвестный"
desc = "Что бы это не было, уничтожь его!"
icon = 'modular_ss220/maps220/icons/clown_mobs.dmi'
icon_state = "mutant"
icon_living = "mutant"
move_resist = INFINITY
turns_per_move = 10
response_help = "осторожно погружает палец в"
response_disarm = "втягивается в"
response_harm = "втягивается в"
speak = list("уааааааааа-хааууууууаааааа!", "ААААаааууАААУааХУААААА!!!", "уууууууухххх.... ххххх-ххьооооонкккхх....", "ХХХХУУАААООНККК!!!")
speak_emote = list("извивается", "корчится", "пульсирует", "бурлит", "расползается")
speak_chance = 10
tts_seed = "Kleiner"
maxHealth = 500
health = 500
pixel_x = -16
speed = 3
move_to_delay = 3
harm_intent_damage = 10
melee_damage_lower = 30
melee_damage_upper = 40
attacktext = "неловко замахивается на"
loot = list(/obj/item/clothing/mask/gas/clown_hat, /obj/effect/gibspawner/human, /obj/effect/gibspawner/human, /obj/item/grown/bananapeel, /obj/item/bikehorn/golden)
wander = FALSE
71 changes: 71 additions & 0 deletions modular_ss220/maps220/code/objects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,22 @@
icon_opened = "crate_barrel_open"
icon_closed = "crate_barrel"

/obj/structure/closet/crate/grave
name = "grave mound"
desc = "A simple and reliable way to keep the dead away."
icon = 'modular_ss220/maps220/icons/crates.dmi'
icon_state = "grave"
icon_opened = "graveopen"
icon_closed = "grave"
open_sound = 'sound/effects/shovel_dig.ogg'
close_sound = 'sound/effects/shovel_dig.ogg'

/obj/structure/closet/crate/grave/gravelead
name = "ominous grave mound"
icon_state = "grave_lead"
icon_opened = "grave_leadopen"
icon_closed = "grave_lead"

/* Syndicate Base - Mothership */
// Machinery
/obj/machinery/photocopier/syndie
Expand Down Expand Up @@ -231,3 +247,58 @@
projectile = /obj/item/projectile/bullet/midbullet2
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
projectile_energy_cost = 14

//Immortality ring
/obj/item/clothing/gloves/ring/immortality_ring
name = "старое кольцо"
icon_state = "shadowring"
ring_color = "shadow"
material = "shadow"
desc = "Кольцо цвета оникса из неизвестного материала. Позолоченные надписи на внешней стороне причудливо пульсируют, испуская зловещую дымку. Надеть его кажется не лучшей идеей..."
resistance_flags = INDESTRUCTIBLE | FIRE_PROOF | UNACIDABLE | ACID_PROOF
actions_types = list(/datum/action/item_action/immortality)
var/ability_delay = 100 SECONDS
var/invisibility_add = 101
var/invisibility_rmv = 0

/datum/action/item_action/immortality
name = "Ring ability"

/obj/item/clothing/gloves/ring/immortality_ring/proc/ring_ability(mob/user)
if(cooldown > world.time)
to_chat(user, span_warning("[name] еще перезаряжается!"))
return
cooldown = world.time + ability_delay
user.status_flags |= GODMODE
user.invisibility = invisibility_add
visible_message(span_danger("[user] исчезает из реальности!"))
to_chat(user, span_cultitalic("Ты чувствуешь чье-то ужасающее присутствие..."))
SEND_SOUND (user, sound('sound/hallucinations/i_see_you2.ogg'))
addtimer(CALLBACK(src, PROC_REF(ring_ability_end), user), 8 SECONDS)

/obj/item/clothing/gloves/ring/immortality_ring/proc/ring_ability_end(mob/user)
user.status_flags &= ~GODMODE
user.invisibility = invisibility_rmv
visible_message(span_danger("[user] возвращается в реальность!"))
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
H.apply_damage(rand(10, 40), BURN, pick("r_hand"))
H.adjustCloneLoss(25, TRUE)
H.adjustBrainLoss(30, TRUE)

/obj/item/clothing/gloves/ring/immortality_ring/ui_action_click(mob/user, immortality)
ring_ability(user)

/obj/item/clothing/gloves/ring/immortality_ring/item_action_slot_check(slot, mob/user, immortality)
if(slot == SLOT_HUD_GLOVES)
return TRUE

/obj/item/clothing/gloves/ring/immortality_ring/equipped(mob/user, slot)
..()
var/mob/living/carbon/human/H = user
if(istype(H) && slot == SLOT_HUD_GLOVES)
flags = NODROP
to_chat(user, span_danger("[name] туго обвивается вокруг твоего пальца!"))
SEND_SOUND (user, sound('modular_ss220/aesthetics_sounds/sound/creepy/demon2.ogg'))

2 changes: 1 addition & 1 deletion modular_ss220/maps220/code/walls.dm
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
icon = 'icons/turf/walls//smoothrocks.dmi'
icon_state = "smoothrocks-0"
base_icon_state = "smoothrocks"
color = COLOR_ANCIENT_ROCK
color = COLOR_ROCK
smoothing_flags = SMOOTH_BITMASK | SMOOTH_BORDER
smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_MINERAL_WALLS)
canSmoothWith = list(SMOOTH_GROUP_MINERAL_WALLS)
Expand Down
Binary file added modular_ss220/maps220/icons/clown_mobs.dmi
Binary file not shown.
Binary file modified modular_ss220/maps220/icons/crates.dmi
Binary file not shown.
Binary file added modular_ss220/maps220/icons/misc_objects.dmi
Binary file not shown.
Binary file modified modular_ss220/maps220/icons/simple_human.dmi
Binary file not shown.
Binary file modified modular_ss220/maps220/icons/syndie_logo.dmi
Binary file not shown.

0 comments on commit 07ba253

Please sign in to comment.