From eb6a72a501e70317b1e76350b2ed793e30f12821 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Wed, 5 Aug 2015 22:00:08 -0500 Subject: [PATCH 1/7] Guardian Fixes Creating bombs with dense objects will make the bomb dense The battlecry will only activate on mobs so you can't spam it on stuff with no clickdelay Slightly nerfed the fire type (takes more damage, spreads less firestacks). Will probably need further balancing. Using the communicate verb will now display the message for the user as well so you can keep track of your conversations better. --- .../living/simple_animal/guardian/guardian.dm | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 580a7172ba3..84444cc69eb 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -118,6 +118,7 @@ for(var/mob/M in mob_list) if(M == src.summoner) M << "[src]: [input]" + src << "[src]: [input]" /mob/living/proc/guardian_comm() set name = "Communicate" @@ -128,7 +129,7 @@ for(var/mob/living/simple_animal/hostile/guardian/M in mob_list) if(M.summoner == src) M << "[src]: [input]" - + src << "[src]: [input]" //////////////////////////TYPES OF GUARDIANS @@ -142,7 +143,7 @@ melee_damage_upper = 15 attack_sound = 'sound/items/Welder.ogg' attacktext = "sears" - damage_transfer = 0.6 + damage_transfer = 0.7 range = 10 playstyle_string = "As a fire type, you have only light damage resistance, but will ignite any enemy you bump into." environment_smash = 1 @@ -155,7 +156,7 @@ if(istype(AM, /mob/living/)) var/mob/living/M = AM if(AM != src.summoner) - M.adjust_fire_stacks(20) + M.adjust_fire_stacks(10) M.IgniteMob() //Standard @@ -183,17 +184,14 @@ /mob/living/simple_animal/hostile/guardian/punch/AttackingTarget() ..() - src.say("[src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]\ - [src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]") - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) - playsound(loc, src.attack_sound, 50, 1, 1) + if(istype(target, /mob/living)) + src.say("[src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]\ + [src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry][src.battlecry]") + playsound(loc, src.attack_sound, 50, 1, 1) + playsound(loc, src.attack_sound, 50, 1, 1) + playsound(loc, src.attack_sound, 50, 1, 1) + playsound(loc, src.attack_sound, 50, 1, 1) + @@ -334,6 +332,8 @@ /obj/item/weapon/guardian_bomb/proc/disguise(var/obj/A) A.loc = src stored_obj = A + anchored = A.anchored + density = A.density appearance = A.appearance spawn(600) stored_obj.loc = get_turf(src.loc) From a8f9ddf56c73f124b26e6639fe160ed589c60b5e Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Wed, 5 Aug 2015 22:27:36 -0500 Subject: [PATCH 2/7] Fixes ranged simple animals --- code/modules/mob/living/simple_animal/hostile/hostile.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index c51fc8e17b1..1f24ed85e1c 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -35,6 +35,8 @@ /mob/living/simple_animal/hostile/Life() . = ..() + if(ranged) + ranged_cooldown-- if(!.) //dead walk(src, 0) //stops walking return 0 @@ -42,8 +44,6 @@ /mob/living/simple_animal/hostile/handle_automated_action() if(AIStatus == AI_OFF) return 0 - if(ranged) - ranged_cooldown-- var/list/possible_targets = ListTargets() //we look around for potential targets and make it a list for later use. if(environment_smash) @@ -315,4 +315,4 @@ . = 0 /mob/living/simple_animal/hostile/proc/AIShouldSleep(var/list/possible_targets) - return !FindTarget(possible_targets, 1) \ No newline at end of file + return !FindTarget(possible_targets, 1) From e9bec804a8c2df408c9583fbe86d1888c9306e36 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 6 Aug 2015 00:13:36 -0500 Subject: [PATCH 3/7] Ranged Version gets its own projectile --- .../living/simple_animal/guardian/guardian.dm | 20 +++++++++++------- icons/obj/projectiles.dmi | Bin 32400 -> 32592 bytes 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 84444cc69eb..7e115146182 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -32,7 +32,6 @@ var/tech_fluff_string = "BOOT SEQUENCE COMPLETE. ERROR MODULE LOADED. THIS SHOULDN'T HAPPEN. Submit a bug report!" var/bio_fluff_string = "Your scarabs fail to mutate. This shouldn't happen! Submit a bug report!" - /mob/living/simple_animal/hostile/guardian/Life() //Dies if the summoner dies ..() if(summoner) @@ -164,7 +163,7 @@ /mob/living/simple_animal/hostile/guardian/punch melee_damage_lower = 25 melee_damage_upper = 25 - damage_transfer = 0.4 + damage_transfer = 0.5 playstyle_string = "As a standard type you have no special abilities, but have a high damage resistance and a powerful attack capable of smashing through walls." environment_smash = 2 magic_fluff_string = "..And draw the Assistant, faceless and generic, but never to be underestimated." @@ -261,21 +260,26 @@ C.adjustOxyLoss(-5) C.adjustToxLoss(-5) +/obj/item/projectile/guardian + name = "crystal spray" + icon_state = "guardian" + damage = 4 + damage_type = BRUTE + /mob/living/simple_animal/hostile/guardian/ranged a_intent = "help" melee_damage_lower = 10 melee_damage_upper = 10 damage_transfer = 1.2 - projectiletype = /obj/item/projectile/neurotox - ranged_cooldown_cap = 1 - projectilesound = 'sound/weapons/pierce.ogg' + projectiletype = /obj/item/projectile/guardian + ranged_cooldown_cap = 0 + projectilesound = 'sound/effects/hit_on_shattered_glass.ogg' ranged = 1 - rapid = 1 range = 13 - playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying neurotoxin." + playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed." magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat." tech_fluff_string = "Boot sequence complete. Ranged combat modules active. Nanoswarm online." - bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of spitting neurotoxin." + bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of spray shards of crystal." /mob/living/simple_animal/hostile/guardian/bluespace diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi index cc0325cdfae4fd9d6074174c1d537d42a3b43431..72ef46c7163dbf7fffe968d3346e47a643d77f94 100644 GIT binary patch delta 11981 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 X^0+A_wi+`20YLMvj#`O|)$9KSKrmi@ delta 11788 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 EKiTRHNB{r; From 97543db0edabd7ac7e80fab5872128a77bbe4cfb Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 6 Aug 2015 10:21:13 -0500 Subject: [PATCH 4/7] Words --- code/modules/mob/living/simple_animal/guardian/guardian.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 7e115146182..8ef361380ef 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -279,7 +279,7 @@ playstyle_string = "As a ranged type, you have only light damage resistance, but are capable of spraying shards of crystal at incredibly high speed." magic_fluff_string = "..And draw the Sentinel, an alien master of ranged combat." tech_fluff_string = "Boot sequence complete. Ranged combat modules active. Nanoswarm online." - bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of spray shards of crystal." + bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of spraying shards of crystal." /mob/living/simple_animal/hostile/guardian/bluespace From fc218bcf84794e3a2f5a76074a2f4018701f5790 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 6 Aug 2015 18:48:18 -0500 Subject: [PATCH 5/7] Nerfs Healer, adds checks to healer/bomb --- code/modules/mob/living/simple_animal/guardian/guardian.dm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 8ef361380ef..bb5a40c3ca2 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -244,6 +244,7 @@ /mob/living/simple_animal/hostile/guardian/healer a_intent = "help" friendly = "heals" + speed = 1 melee_damage_lower = 0 melee_damage_upper = 0 playstyle_string = "As a healer type, you are incapable of attacking, but can mend any wound simply by touching a target." @@ -253,6 +254,9 @@ /mob/living/simple_animal/hostile/guardian/healer/AttackingTarget() ..() + if(src.loc == summoner) + src << "You must be manifested to heal!." + return if(iscarbon(target)) var/mob/living/carbon/C = target C.adjustBruteLoss(-5) @@ -315,6 +319,9 @@ var/bomb_cooldown = 0 /mob/living/simple_animal/hostile/guardian/bomb/ShiftClickOn(atom/movable/A) + if(src.loc == summoner) + src << "You must be manifested to create bombs!." + return if(istype(A, /obj/)) if(bomb_cooldown <= world.time && !stat) var/obj/item/weapon/guardian_bomb/B = new /obj/item/weapon/guardian_bomb(get_turf(A)) From 616f3da3f4e19b5e396afbb0ae9a4f998ebc2c59 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Fri, 7 Aug 2015 00:21:14 -0500 Subject: [PATCH 6/7] Extra punctuation --- code/modules/mob/living/simple_animal/guardian/guardian.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index bb5a40c3ca2..8c26030336e 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -255,7 +255,7 @@ /mob/living/simple_animal/hostile/guardian/healer/AttackingTarget() ..() if(src.loc == summoner) - src << "You must be manifested to heal!." + src << "You must be manifested to heal!" return if(iscarbon(target)) var/mob/living/carbon/C = target @@ -320,7 +320,7 @@ /mob/living/simple_animal/hostile/guardian/bomb/ShiftClickOn(atom/movable/A) if(src.loc == summoner) - src << "You must be manifested to create bombs!." + src << "You must be manifested to create bombs!" return if(istype(A, /obj/)) if(bomb_cooldown <= world.time && !stat) From 842339dbc6902cdcfd3b98bf26ace391d20a54c0 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Fri, 7 Aug 2015 00:28:06 -0500 Subject: [PATCH 7/7] More slight nerfs --- .../mob/living/simple_animal/guardian/guardian.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 8c26030336e..b102ef80167 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -138,8 +138,8 @@ /mob/living/simple_animal/hostile/guardian/fire a_intent = "help" - melee_damage_lower = 15 - melee_damage_upper = 15 + melee_damage_lower = 10 + melee_damage_upper = 10 attack_sound = 'sound/items/Welder.ogg' attacktext = "sears" damage_transfer = 0.7 @@ -197,9 +197,9 @@ //Fast Standard. Does less damage, has less resistance, but moves faster, has higher range /mob/living/simple_animal/hostile/guardian/fast - melee_damage_lower = 25 - melee_damage_upper = 25 - damage_transfer = 0.6 + melee_damage_lower = 20 + melee_damage_upper = 20 + damage_transfer = 0.7 speed = -1 range = 15 attacktext = "slices"