diff --git a/modular_darkpack/modules/deprecated/icons/mobs.dmi b/modular_darkpack/modules/deprecated/icons/mobs.dmi index dcfb14e01392..edc752e0786b 100644 Binary files a/modular_darkpack/modules/deprecated/icons/mobs.dmi and b/modular_darkpack/modules/deprecated/icons/mobs.dmi differ diff --git a/modular_darkpack/modules/events/code/landmarks/event_landmarks.dm b/modular_darkpack/modules/events/code/landmarks/event_landmarks.dm new file mode 100644 index 000000000000..b5879141ffee --- /dev/null +++ b/modular_darkpack/modules/events/code/landmarks/event_landmarks.dm @@ -0,0 +1,5 @@ +/obj/effect/landmark/event_spawn/szlachta + name = "szlachta event spawn" + icon = 'modular_darkpack/modules/events/icons/event_landmarks.dmi' + icon_state = "szlachta" + diff --git a/modular_darkpack/modules/events/code/szlachta_attack_event.dm b/modular_darkpack/modules/events/code/szlachta_attack_event.dm new file mode 100644 index 000000000000..9ac12e54f600 --- /dev/null +++ b/modular_darkpack/modules/events/code/szlachta_attack_event.dm @@ -0,0 +1,49 @@ +/datum/round_event_control/darkpack/szlachta + name = "Szlachta Attack" + typepath = /datum/round_event/szlachta + weight = 3 + min_players = 10 + max_occurrences = 2 + earliest_start = 90 MINUTES + category = EVENT_CATEGORY_INVASION + description = "Roving, loose szlachta have found their way into the city." + darkpack_allowed = TRUE + +/datum/round_event_control/darkpack/szlachta/can_spawn_event(players_amt, allow_magic) + . = ..() + if(!locate(/obj/effect/landmark/event_spawn/szlachta) in GLOB.generic_event_spawns) + return FALSE + +/datum/round_event/szlachta + start_when = 1 + announce_when = 5 + +/datum/round_event/szlachta/announce(fake) + var/endpost_szlachta_author = pick("thesupernaturalguy71", "mhaley71", "justplumbin92", "illuminati_truther777", "satanwatch_now") + var/endpost_szlachta_post = pick("saw something soooo weird... :) new video coming soon on my channel", "just had the most terrifying moment of my life. saw some kind of monster.", "Yeap, whatever I saw, I'm just goin' right the fuck home.", "(the post has an extremely blurry image attached of what looks to be some kind monster. is it photoshopped?)") + endpost_announce(endpost_szlachta_post, endpost_szlachta_author) + +/datum/round_event/szlachta/start() + for(var/obj/effect/landmark/event_spawn/szlachta/landmark in GLOB.generic_event_spawns) + if(!prob(20)) + continue + var/turf/spawn_turf = get_turf(landmark) + if(!spawn_turf) + continue + + // dont spawn if a player is nearby we don't need them popping in unrealistically + var/player_nearby = FALSE + for(var/mob/living/nearby_mob in view(DEFAULT_SIGHT_DISTANCE, spawn_turf)) + if(nearby_mob.client) + player_nearby = TRUE + break + if(player_nearby) + continue + + new /mob/living/basic/szlachta(spawn_turf) + new /mob/living/basic/szlachta/fister(spawn_turf) + if(prob(40)) + new /mob/living/basic/szlachta(spawn_turf) + + var/vozhd_type = (rand(1, 100) <= 80) ? /mob/living/basic/szlachta/tanker : /mob/living/basic/szlachta/otherthing + new vozhd_type(spawn_turf) diff --git a/modular_darkpack/modules/events/icons/event_landmarks.dmi b/modular_darkpack/modules/events/icons/event_landmarks.dmi new file mode 100644 index 000000000000..cef1b3eb4822 Binary files /dev/null and b/modular_darkpack/modules/events/icons/event_landmarks.dmi differ diff --git a/modular_darkpack/modules/powers/code/discipline/vicissitude/objects/creatures.dm b/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm similarity index 61% rename from modular_darkpack/modules/powers/code/discipline/vicissitude/objects/creatures.dm rename to modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm index 0f49ab59723a..bf3a58cf5142 100644 --- a/modular_darkpack/modules/powers/code/discipline/vicissitude/objects/creatures.dm +++ b/modular_darkpack/modules/npc/code/nonhuman/hostile/szlachta.dm @@ -1,7 +1,7 @@ /mob/living/basic/szlachta - name = "biter" + name = "szlachta biter" desc = "A ferocious, fang-bearing creature that resembles a spider." - icon = 'modular_darkpack/modules/deprecated/icons/mobs.dmi' + icon = 'modular_darkpack/modules/npc/icons/szlachta.dmi' icon_state = "biter" icon_living = "biter" icon_dead = "biter_dead" @@ -11,7 +11,7 @@ response_help_simple = "pet" response_disarm_continuous = "gently pushes aside" response_disarm_simple = "gently push aside" - speed = -1 + speed = -0.4 maxHealth = 75 health = 75 obj_damage = 50 @@ -21,17 +21,18 @@ attack_verb_simple = "bite" attack_sound = 'sound/items/weapons/bite.ogg' speak_emote = list("gnashes") - faction = list(VAMPIRE_CLAN_TZIMISCE) + faction = list(FACTION_SABBAT, VAMPIRE_CLAN_TZIMISCE) pressure_resistance = 200 bloodquality = BLOOD_QUALITY_LOW bloodpool = 2 maxbloodpool = 2 ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 2) + default_blood_volume = BLOOD_VOLUME_NORMAL /mob/living/basic/szlachta/fister - name = "fister" - desc = "A true abomination walking on both hands." + name = "szlachta" + desc = "A true abomination walking on both hands with bright white, hollow, sad eyes." icon_state = "fister" icon_living = "fister" icon_dead = "fister_dead" @@ -42,6 +43,7 @@ melee_damage_upper = 30 attack_verb_continuous = "punches" attack_verb_simple = "punch" + speed = 1.5 attack_sound = 'sound/items/weapons/punch1.ogg' combat_mode = TRUE status_flags = CANPUSH @@ -50,8 +52,8 @@ custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 5) /mob/living/basic/szlachta/tanker - name = "tanker" - desc = "The peak of abominable armor. Unbelievably undamagable..." + name = "vozhd" + desc = "A frightening tank of flesh and bone with sword like appendages and unbelievable biological padding. Seasoned vampires know them as the siege-ghouls of the Tzimisce." icon_state = "tanker" icon_living = "tanker" icon_dead = "tanker_dead" @@ -62,12 +64,37 @@ melee_damage_upper = 25 attack_verb_continuous = "slashes" attack_verb_simple = "slash" + speed = 2 attack_sound = 'sound/items/weapons/slash.ogg' combat_mode = TRUE bloodpool = 7 maxbloodpool = 7 custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 10) + +/mob/living/basic/szlachta/otherthing + name = "sludgelike vozhd" + desc = "a sludgelike, fanged bulbous creature, resembling the other siege-ghouls, but this one bites and tears the flesh and drinks the blood hungrily..." + icon_state = "otherthing" + icon_living = "otherthing" + icon_dead = "otherthing_dead" + maxHealth = 350 + health = 350 + butcher_results = list(/obj/item/stack/sheet/meat = 4) + melee_damage_lower = 25 + melee_damage_upper = 25 + attack_verb_continuous = "slashes" + attack_verb_simple = "slash" + speed = 2 + attack_sound = 'sound/items/weapons/slash.ogg' + combat_mode = TRUE + bloodpool = 10 + maxbloodpool = 10 + custom_materials = list(/datum/material/meat = SHEET_MATERIAL_AMOUNT * 10) + + +//DARKPACK TODO - Szlachta - make this guy drain blood + /mob/living/basic/szlachta/hostile faction = list(FACTION_HOSTILE) @@ -76,3 +103,6 @@ /mob/living/basic/szlachta/tanker/hostile faction = list(FACTION_HOSTILE) + +/mob/living/basic/szlachta/otherthing/hostile + faction = list(FACTION_HOSTILE) diff --git a/modular_darkpack/modules/npc/icons/szlachta.dmi b/modular_darkpack/modules/npc/icons/szlachta.dmi new file mode 100644 index 000000000000..6c3223a6204c Binary files /dev/null and b/modular_darkpack/modules/npc/icons/szlachta.dmi differ diff --git a/modular_darkpack/modules/phones/code/endpost_announce.dm b/modular_darkpack/modules/phones/code/endpost_announce.dm new file mode 100644 index 000000000000..4c144e1bc056 --- /dev/null +++ b/modular_darkpack/modules/phones/code/endpost_announce.dm @@ -0,0 +1,10 @@ +// useful proc to announce events as endposts +/proc/endpost_announce(body, author = "SF Chronicle Nightly") + UNTYPED_LIST_ADD(SSphones.endpost_posts, list( + "body" = body, + "date" = server_timestamp("Day, Month DD, "), + "time" = server_timestamp("hh:mm", ic_time = TRUE), + "author" = author, + //"thumbsup_voters" = list(), + //"thumbsdown_voters" = list(), + )) diff --git a/tgstation.dme b/tgstation.dme index 4bcb29504293..037861ba8ae2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -7223,6 +7223,8 @@ #include "modular_darkpack\modules\ert\code\outfits\swat_outfits.dm" #include "modular_darkpack\modules\events\code\_darkpack_event.dm" #include "modular_darkpack\modules\events\code\blackout_event.dm" +#include "modular_darkpack\modules\events\code\szlachta_attack_event.dm" +#include "modular_darkpack\modules\events\code\landmarks\event_landmarks.dm" #include "modular_darkpack\modules\external_organs\code\gargoyle_wings.dm" #include "modular_darkpack\modules\external_organs\code\gargoyle_wings_sprite_accessory_datum.dm" #include "modular_darkpack\modules\fire\code\fire.dm" @@ -7494,6 +7496,7 @@ #include "modular_darkpack\modules\npc\code\nonhuman\hostile\abyss_tentacle.dm" #include "modular_darkpack\modules\npc\code\nonhuman\hostile\baali_guard.dm" #include "modular_darkpack\modules\npc\code\nonhuman\hostile\bear.dm" +#include "modular_darkpack\modules\npc\code\nonhuman\hostile\szlachta.dm" #include "modular_darkpack\modules\npc\code\nonhuman\hostile\werewolf.dm" #include "modular_darkpack\modules\occult_artifacts\code\_artifact.dm" #include "modular_darkpack\modules\occult_artifacts\code\_artifact_config.dm" @@ -7524,6 +7527,7 @@ #include "modular_darkpack\modules\paths\code\spellbooks\thaumaturgy\lure_of_flames_spellbooks.dm" #include "modular_darkpack\modules\paths\code\spellbooks\thaumaturgy\research_spellbooks.dm" #include "modular_darkpack\modules\phones\code\_phone.dm" +#include "modular_darkpack\modules\phones\code\endpost_announce.dm" #include "modular_darkpack\modules\phones\code\phone_assets.dm" #include "modular_darkpack\modules\phones\code\phone_book.dm" #include "modular_darkpack\modules\phones\code\phone_contact.dm" @@ -7610,7 +7614,6 @@ #include "modular_darkpack\modules\powers\code\discipline\vicissitude\vicissitude.dm" #include "modular_darkpack\modules\powers\code\discipline\vicissitude\zulo.dm" #include "modular_darkpack\modules\powers\code\discipline\vicissitude\zulo_preferences.dm" -#include "modular_darkpack\modules\powers\code\discipline\vicissitude\objects\creatures.dm" #include "modular_darkpack\modules\powers\code\discipline\vicissitude\objects\flesh_items.dm" #include "modular_darkpack\modules\powers\code\discipline\vicissitude\objects\surgery_tools.dm" #include "modular_darkpack\modules\powers\code\discipline\vicissitude\surgeries\hair_colour_change.dm"