diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 36bb824e642..9587a94202b 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -47,6 +47,9 @@ whitelisted_species += S.name init_subtypes(/datum/table_recipe, table_recipes) + + init_subtypes(/datum/cult_info, all_cults) + return 1 /* // Uncomment to debug chemical reaction list. diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 1770195b08e..7d25f69bf34 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -1,7 +1,8 @@ //This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:31 +var/global/list/all_cults = list() /datum/game_mode - var/datum/cult_info/cultdat = pick(typesof(/datum/cult_info)) + var/list/datum/cult_info/cultdat = list(pick(all_cults)) var/list/datum/mind/cult = list() /proc/iscultist(mob/living/M as mob) @@ -157,7 +158,7 @@ update_cult_icons_added(cult_mind) cult_mind.current.faction |= "cult" var/datum/action/innate/cultcomm/C = new() - C.Grant(cult_mind.current) + C.Grant(cult_mind.current) cult_mind.current.attack_log += "\[[time_stamp()]\] Has been converted to the cult!" if(jobban_isbanned(cult_mind.current, ROLE_CULTIST)) replace_jobbaned_player(cult_mind.current, ROLE_CULTIST) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 7bb28e903a0..672fca3f315 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -167,7 +167,7 @@ user.unEquip(src, 1) user.Dizzy(30) user.Weaken(5) - user.blind(30) + user.eye_blind = 30 /obj/item/device/shuttle_curse name = "cursed orb" diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index fa5e8817dc9..a90999b3cbe 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -131,10 +131,10 @@ L.adjustBruteLoss(-1, 0) L.adjustFireLoss(-1, 0) L.updatehealth() - if(istype(L, /mob/living/simple_animal/hostile/construct)) + if(istype(L, /mob/living/simple_animal/shade) || istype(L, /mob/living/simple_animal/hostile/construct)) var/mob/living/simple_animal/M = L if(M.health < M.maxHealth) - M.adjustHealth(-2) + M.adjustBruteLoss(-2) if(corruption.len) var/turf/T = pick_n_take(corruption) corruption -= T diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 9da06dc5ca0..9eabe25ec22 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -337,7 +337,7 @@ var/list/teleport_runes = list() //Rite of Tribute: Sacrifices a crew member to Nar-Sie. Places them into a soul shard if they're in their body. /obj/effect/rune/sacrifice cultist_name = "Rite of Tribute" - cultist_desc = "sacrifices a crew member to [ticker.mode.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." + cultist_desc = "sacrifices a crew member to your god. May place them into a soul shard if their spirit remains in their body." icon_state = "3" allow_excess_invokers = 1 invocation = "Barhah hra zar'garis!" @@ -346,7 +346,7 @@ var/list/teleport_runes = list() /obj/effect/rune/sacrifice/New() ..() - icon_state = "[rand(1,6)]" + cultist_desc = "sacrifices a crew member to [ticker.mode.cultdat.entity_title3]. May place them into a soul shard if their spirit remains in their body." /obj/effect/rune/sacrifice/invoke(var/list/invokers) if(rune_in_use) @@ -434,8 +434,8 @@ var/list/teleport_runes = list() //Ritual of Dimensional Rending: Calls forth the avatar of Nar-Sie upon the station. /obj/effect/rune/narsie - cultist_name = "Summon [ticker.mode.cultdat.entity_name]" - cultist_desc = "tears apart dimensional barriers, calling forth [ticker.mode.cultdat.entity_title3]. Requires 9 invokers." + cultist_name = "Summon your god" + cultist_desc = "tears apart dimensional barriers, calling forth your god. Requires 9 invokers." invocation = "TOK-LYR RQA-NAP G'OLT-ULOFT!!" req_cultists = 9 icon = 'icons/effects/96x96.dmi' @@ -448,6 +448,13 @@ var/list/teleport_runes = list() scribe_damage = 40.1 //how much damage you take doing it var/used +/obj/effect/rune/narsie/New() + ..() + cultist_name = "Summon [ticker.mode.cultdat.entity_name]" + cultist_desc = "tears apart dimensional barriers, calling forth [ticker.mode.cultdat.entity_title3]. Requires 9 invokers." + + + /obj/effect/rune/narsie/talismanhide() //can't hide this, and you wouldn't want to return @@ -809,13 +816,15 @@ var/list/teleport_runes = list() //Rite of Spectral Manifestation: Summons a ghost on top of the rune as a cultist human with no items. User must stand on the rune at all times, and takes damage for each summoned ghost. /obj/effect/rune/manifest cultist_name = "Rite of Spectral Manifestation" - cultist_desc = "manifests a spirit as a servant of [ticker.mode.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." + cultist_desc = "manifests a spirit as a servant of your god. The invoker must not move from atop the rune, and will take damage for each summoned spirit." invocation = "Gal'h'rfikk harfrandid mud'gib!" //how the fuck do you pronounce this icon_state = "6" color = rgb(200, 0, 0) /obj/effect/rune/manifest/New(loc) ..() + cultist_desc = "manifests a spirit as a servant of [ticker.mode.cultdat.entity_title3]. The invoker must not move from atop the rune, and will take damage for each summoned spirit." + notify_ghosts("Manifest rune created in [get_area(src)].", 'sound/effects/ghost2.ogg', source = src) /obj/effect/rune/manifest/can_invoke(mob/living/user) diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm index 6298f6b04ba..4c331cd70f3 100644 --- a/code/game/objects/structures/door_assembly.dm +++ b/code/game/objects/structures/door_assembly.dm @@ -142,22 +142,19 @@ obj/structure/door_assembly/multi_tile/Move() /obj/structure/door_assembly/door_assembly_cult name = "cult airlock assembly" icon = 'icons/obj/doors/cult_runed.dmi' - typetext = "cult" - icontext = "cult" + base_name = "cult" airlock_type = /obj/machinery/door/airlock/cult anchored = 1 state = 1 /obj/structure/door_assembly/door_assembly_cult/glass - mineral = "glass" - material = "glass" + glass = 1 /obj/structure/door_assembly/door_assembly_cult/unruned icon = 'icons/obj/doors/cult.dmi' /obj/structure/door_assembly/door_assembly_cult/unruned/glass - mineral = "glass" - material = "glass" + glass = 1 diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index f6408b8c533..3ad363e2f68 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -357,8 +357,6 @@ dat += "Ghost" else if(isalien(M)) dat += "Alien" - else if(isSpirit(M)) - dat += "Spirit" else dat += "Unknown" diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 9e27c836be2..2e130b8feab 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -93,6 +93,11 @@ proc/get_radio_key_from_channel(var/channel) verb = "stammers" speech_problem_flag = 1 + if(cultslurring) + message = cultslur(message) + verb = "slurs" + speech_problem_flag = 1 + if(GREY in mutations) message = "[message]" diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index 837dc813716..ba71cfb7e02 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -301,7 +301,7 @@ construct_spells = list(/obj/effect/proc_holder/spell/targeted/smoke/disable) retreat_distance = 2 //AI harvesters will move in and out of combat, like wraiths, but shittier playstyle_string = "You are a Harvester. You are not strong, but your powers of domination will assist you in your role: \ - Bring those who still cling to this world of illusion back to [ticker.mode.cultdat.entity_title2] so they may know Truth." + Bring those who still cling to this world of illusion back to the master so they may know Truth." /mob/living/simple_animal/hostile/construct/harvester/Process_Spacemove(var/movement_dir = 0) diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 8b4b39e006a..e84aab56d17 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -138,6 +138,8 @@ var/job = null//Living + var/cultslurring = 0 //Carbon + var/const/blindness = 1//Carbon var/const/deafness = 2//Carbon var/const/muteness = 4//Carbon