From 539be7f192f75cb724835427de318cc2cedbe811 Mon Sep 17 00:00:00 2001 From: Alberyk Date: Fri, 17 Feb 2017 16:15:10 -0200 Subject: [PATCH] Fixing broken magic missiles, corrupted form and rev/cult tweaks (#1766) -fix magic missiles not working -corrupt form should not strip the wizard, should last longer and the fully upgraded form was buffed -heads of staff, except implanted ones, can be converted to rev now -cultists gets the cult language -loyalty implants will stop rev convertion -probably fixed ai and cyborgs being selected as cultists and getting access to aooc - Fixes #1777 --- code/game/antagonist/antagonist_factions.dm | 4 ++++ code/game/antagonist/station/cultist.dm | 6 +++++- code/game/antagonist/station/revolutionary.dm | 12 ++++++++++-- code/game/antagonist/station/thrall.dm | 4 ++-- code/game/objects/items/weapons/shields.dm | 2 +- code/modules/mob/language/station.dm | 2 +- .../mob/living/carbon/human/human_attackhand.dm | 4 ++-- .../carbon/human/species/station/human_subspecies.dm | 8 ++++---- .../spells/targeted/projectile/magic_missile.dm | 1 - code/modules/spells/targeted/shapeshift.dm | 9 ++++++--- 10 files changed, 35 insertions(+), 17 deletions(-) diff --git a/code/game/antagonist/antagonist_factions.dm b/code/game/antagonist/antagonist_factions.dm index 96300e91b7c..2ca93b8e89d 100644 --- a/code/game/antagonist/antagonist_factions.dm +++ b/code/game/antagonist/antagonist_factions.dm @@ -3,6 +3,10 @@ set category = "Abilities" if(!M.mind) return + for (var/obj/item/weapon/implant/loyalty/I in M) + if (I.implanted) + src << "[M] is too loyal to the company!" + return convert_to_faction(M.mind, revs) /mob/living/proc/convert_to_faction(var/datum/mind/player, var/datum/antagonist/faction) diff --git a/code/game/antagonist/station/cultist.dm b/code/game/antagonist/station/cultist.dm index 0116b6557b7..1ff619546e0 100644 --- a/code/game/antagonist/station/cultist.dm +++ b/code/game/antagonist/station/cultist.dm @@ -104,12 +104,16 @@ var/datum/antagonist/cultist/cult player.memory = "" if(show_message) player.current.visible_message("[player.current] looks like they just reverted to their old faith!") + if(. && player.current && !istype(player.current, /mob/living/simple_animal/construct)) + player.current.remove_language(LANGUAGE_CULT) /datum/antagonist/cultist/add_antagonist(var/datum/mind/player) . = ..() if(.) player << "You catch a glimpse of the Realm of Nar-Sie, the Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of That Which Waits. Assist your new compatriots in their dark dealings. Their goals are yours, and yours are theirs. You serve the Dark One above all else. Bring It back." - + if(player.current && !istype(player.current, /mob/living/simple_animal/construct)) + player.current.add_language(LANGUAGE_CULT) + /datum/antagonist/cultist/can_become_antag(var/datum/mind/player, ignore_role = 1) if(!..()) return 0 diff --git a/code/game/antagonist/station/revolutionary.dm b/code/game/antagonist/station/revolutionary.dm index ca0011f8d72..8cb19d5d2dd 100644 --- a/code/game/antagonist/station/revolutionary.dm +++ b/code/game/antagonist/station/revolutionary.dm @@ -28,8 +28,8 @@ 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") - protected_jobs = list("Security Officer", "Warden", "Detective") + restricted_jobs = list("AI", "Cyborg") + protected_jobs = list("Security Officer", "Warden", "Detective", "Head of Personnel", "Chief Engineer", "Research Director", "Chief Medical Officer", "Captain", "Head of Security", "Internal Affairs Agent") /datum/antagonist/revolutionary/New() ..() @@ -46,3 +46,11 @@ var/datum/antagonist/revolutionary/revs rev_obj.target = player.mind rev_obj.explanation_text = "Assassinate, capture or convert [player.real_name], the [player.mind.assigned_role]." global_objectives += rev_obj + +/datum/antagonist/revolutionary/can_become_antag(var/datum/mind/player) + if(!..()) + return 0 + for(var/obj/item/weapon/implant/loyalty/L in player.current) + if(L && (L.imp_in == player.current)) + return 0 + return 1 diff --git a/code/game/antagonist/station/thrall.dm b/code/game/antagonist/station/thrall.dm index 876eeac0723..3b6072a0d08 100644 --- a/code/game/antagonist/station/thrall.dm +++ b/code/game/antagonist/station/thrall.dm @@ -2,8 +2,8 @@ var/datum/antagonist/thrall/vampire_thrall = null /datum/antagonist/thrall id = MODE_THRALL - role_text = "thrall" - role_text_plural = "thralls" + role_text = "Thrall" + role_text_plural = "Thralls" bantype = "vampires" feedback_tag = "thrall_objective" restricted_jobs = list("AI", "Cyborg", "Chaplain") diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index 295d6c87d89..d57d312ab15 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -167,7 +167,7 @@ throwforce = 3.0 throw_speed = 3 throw_range = 4 - w_class = 2 + w_class = 3 attack_verb = list("shoved", "bashed") var/active = 0 diff --git a/code/modules/mob/language/station.dm b/code/modules/mob/language/station.dm index c9e6e67d45e..a8810eaabdc 100644 --- a/code/modules/mob/language/station.dm +++ b/code/modules/mob/language/station.dm @@ -231,7 +231,7 @@ /datum/language/unathi_azaziba name = LANGUAGE_AZAZIBA - desc = "A language of Moghes consisting of a combination of spoken word and gesticulation. While waning since Moghes entered the glactic stage, it enjoys popular use by Unathi that never fell to the Hegemony's cultural dominance." + desc = "A language of Moghes consisting of a combination of spoken word and gesticulation. While waning since Moghes entered the galactic stage, it enjoys popular use by Unathi that never fell to the Hegemony's cultural dominance." speech_verb = "hisses" ask_verb = "hisses" exclaim_verb = "roars" diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm index 4d75c5f2463..85388836861 100644 --- a/code/modules/mob/living/carbon/human/human_attackhand.dm +++ b/code/modules/mob/living/carbon/human/human_attackhand.dm @@ -305,11 +305,11 @@ return W.afterattack(target,src) var/randn = rand(1, 100) - if(!(species.flags & NO_SLIP) && randn <= 25) + if(randn <= 25) if(H.gloves && istype(H.gloves,/obj/item/clothing/gloves/force)) apply_effect(6, WEAKEN, run_armor_check(affecting, "melee")) playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1) - visible_message("\red [M] hurls [src] to the floor!") + visible_message("[M] hurls [src] to the floor!") step_away(src,M,15) sleep(3) step_away(src,M,15) diff --git a/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm index ba075f9af2f..c32a395e3cd 100644 --- a/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm +++ b/code/modules/mob/living/carbon/human/species/station/human_subspecies.dm @@ -1,5 +1,5 @@ /datum/species/human/gravworlder - name = "grav-adapted Human" + name = "Grav-Adapted Human" name_plural = "grav-adapted Humans" blurb = "Heavier and stronger than a baseline human, gravity-adapted people have \ thick radiation-resistant skin with a high lead content, denser bones, and recessed \ @@ -17,7 +17,7 @@ spawn_flags = IS_RESTRICTED /datum/species/human/spacer - name = "space-adapted Human" + name = "Space-Adapted Human" name_plural = "space-adapted Humans" blurb = "Lithe and frail, these sickly folk were engineered for work in environments that \ lack both light and atmosphere. As such, they're quite resistant to asphyxiation as well as \ @@ -33,7 +33,7 @@ spawn_flags = IS_RESTRICTED /datum/species/human/vatgrown - name = "vat-grown Human" + name = "Vat-Grown Human" name_plural = "vat-grown Humans" blurb = "With cloning on the forefront of human scientific advancement, cheap mass production \ of bodies is a very real and rather ethically grey industry. Vat-grown humans tend to be paler than \ @@ -56,7 +56,7 @@ // These guys are going to need full resprites of all the suits/etc so I'm going to // define them and commit the sprites, but leave the clothing for another day. /datum/species/human/chimpanzee - name = "uplifted Chimpanzee" + name = "Uplifted Chimpanzee" name_plural = "uplifted Chimpanzees" blurb = "Ook ook." icobase = 'icons/mob/human_races/subspecies/r_upliftedchimp.dmi' diff --git a/code/modules/spells/targeted/projectile/magic_missile.dm b/code/modules/spells/targeted/projectile/magic_missile.dm index 5f6390a21d9..7c8c3b00b91 100644 --- a/code/modules/spells/targeted/projectile/magic_missile.dm +++ b/code/modules/spells/targeted/projectile/magic_missile.dm @@ -23,7 +23,6 @@ amt_stunned = 3 amt_dam_fire = 10 - cast_prox_range = 0 /spell/targeted/projectile/magic_missile/prox_cast(var/list/targets, atom/spell_holder) spell_holder.visible_message("\The [spell_holder] pops with a flash!") diff --git a/code/modules/spells/targeted/shapeshift.dm b/code/modules/spells/targeted/shapeshift.dm index d6dd2ad2b10..1293ccd5917 100644 --- a/code/modules/spells/targeted/shapeshift.dm +++ b/code/modules/spells/targeted/shapeshift.dm @@ -131,9 +131,12 @@ invocation_type = SpI_EMOTE spell_flags = INCLUDEUSER range = -1 - duration = 100 + duration = 300 charge_max = 1200 cooldown_min = 600 + + drop_items = 0 + share_damage = 0 level_max = list(Sp_TOTAL = 3, Sp_SPEED = 2, Sp_POWER = 2) @@ -153,7 +156,7 @@ newVars = list("name" = "\proper corruption incarnate", "melee_damage_upper" = 35, "resistance" = 6, - "health" = 250, - "maxHealth" = 250) + "health" = 450, //since it is foverer i guess it would be fine to turn them into some short of boss + "maxHealth" = 450) duration = 0 return "You revel in the corruption. There is no turning back."