From b1185747bb1215bd18313cfd3ecb384be8b7fd7c Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 24 Sep 2015 12:55:54 -0500 Subject: [PATCH 1/4] Fixes --- .../living/simple_animal/guardian/guardian.dm | 49 ++++++++----------- html/changelogs/Kor-PR-Fix.yml | 38 ++++++++++++++ 2 files changed, 58 insertions(+), 29 deletions(-) create mode 100644 html/changelogs/Kor-PR-Fix.yml diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 6940476fed3..0f361b23a71 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -182,6 +182,7 @@ do_teleport(M, M, 10) /mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj) + ..() if(istype(AM, /mob/living/)) var/mob/living/M = AM if(AM != src.summoner) @@ -189,6 +190,15 @@ M.IgniteMob() /mob/living/simple_animal/hostile/guardian/fire/Bumped(AM as mob|obj) + ..() + if(istype(AM, /mob/living/)) + var/mob/living/M = AM + if(AM != src.summoner) + M.adjust_fire_stacks(7) + M.IgniteMob() + +/mob/living/simple_animal/hostile/guardian/fire/Bump(AM as mob|obj) + ..() if(istype(AM, /mob/living/)) var/mob/living/M = AM if(AM != src.summoner) @@ -235,7 +245,7 @@ speed = 0 melee_damage_lower = 15 melee_damage_upper = 15 - playstyle_string = "As a Support type, you may toggle your basic attacks to a healing mode. In addition, Shift-Clicking on an adjacent mob will warp them to your bluespace beacon after a short delay." + playstyle_string = "As a Support type, you may toggle your basic attacks to a healing mode. In addition, Alt-Clicking on an adjacent mob will warp them to your bluespace beacon after a short delay." magic_fluff_string = "..And draw the CMO, a potent force of life...and death." tech_fluff_string = "Boot sequence complete. Medical modules active. Bluespace modules activated. Holoparasite swarm online." bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of mending wounds and travelling via bluespace." @@ -293,7 +303,7 @@ F.name = "bluespace recieving pad" F.desc = "A recieving zone for bluespace teleportations. Building a wall over it should disable it." F.icon_state = "light_on-w" - src << "Beacon placed! You may now warp targets to it, including your user, via Shift+Click. " + src << "Beacon placed! You may now warp targets to it, including your user, via Alt+Click. " if(beacon) beacon.ChangeTurf(/turf/simulated/floor/plating) beacon = F @@ -302,7 +312,7 @@ else src << "Your power is on cooldown. You must wait five minutes between placing beacons." -/mob/living/simple_animal/hostile/guardian/healer/ShiftClickOn(atom/movable/A) +/mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) if(src.loc == summoner) src << "You must be manifested to warp a target!" return @@ -436,13 +446,13 @@ melee_damage_upper = 15 damage_transfer = 0.6 range = 13 - playstyle_string = "As an explosive type, you have only moderate close combat abilities, but are capable of converting any adjacent item into a disguised bomb via shift click." + playstyle_string = "As an explosive type, you have only moderate close combat abilities, but are capable of converting any adjacent item into a disguised bomb via alt click." magic_fluff_string = "..And draw the Scientist, master of explosive death." tech_fluff_string = "Boot sequence complete. Explosive modules active. Holoparasite swarm online." bio_fluff_string = "Your scarab swarm finishes mutating and stirs to life, capable of stealthily booby trapping items." var/bomb_cooldown = 0 -/mob/living/simple_animal/hostile/guardian/bomb/ShiftClickOn(atom/movable/A) +/mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) if(src.loc == summoner) src << "You must be manifested to create bombs!" return @@ -526,31 +536,12 @@ return used = TRUE user << "[use_message]" - var/list/candidates = get_candidates(BE_ALIEN, ALIEN_AFK_BRACKET) + var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as the [mob_name] of [user.real_name]?", "pAI", null, FALSE, 100) + var/mob/dead/observer/theghost = null - shuffle(candidates) - - var/time_passed = world.time - var/list/consenting_candidates = list() - - for(var/candidate in candidates) - - spawn(0) - switch(alert(candidate, "Would you like to play as the [mob_name] of [user.real_name]? Please choose quickly!","Confirmation","Yes","No")) - if("Yes") - if((world.time-time_passed)>=50 || !src) - return - consenting_candidates += candidate - - sleep(50) - - if(!src) - return - - if(consenting_candidates.len) - var/client/C = null - C = pick(consenting_candidates) - spawn_guardian(user, C.key) + if(candidates.len) + theghost = pick(candidates) + spawn_guardian(user, theghost.key) else user << "[failure_message]" used = FALSE diff --git a/html/changelogs/Kor-PR-Fix.yml b/html/changelogs/Kor-PR-Fix.yml new file mode 100644 index 00000000000..6d7f7807d27 --- /dev/null +++ b/html/changelogs/Kor-PR-Fix.yml @@ -0,0 +1,38 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# spellcheck (typo fixes) +# experiment +# tgs (TG-ported fixes?) +################################# + +# Your name. +author: Kor + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - bugfix: "The Chaos holoparasite can now actually set people on fire properly." + - tweak: "Guardian powers are now used via alt+click rather than shift+click." + - tweak: "Added an alert chime for ghosts when someone is summoning a Guardian." From 4e644df7cc94ffcf94f7544510a949b81e933db8 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Thu, 24 Sep 2015 16:17:37 -0500 Subject: [PATCH 2/4] Runtime fix --- code/modules/mob/living/simple_animal/guardian/guardian.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 0f361b23a71..37684be84a3 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -313,6 +313,8 @@ src << "Your power is on cooldown. You must wait five minutes between placing beacons." /mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A) + if(!istype(A)) + return if(src.loc == summoner) src << "You must be manifested to warp a target!" return @@ -453,6 +455,8 @@ var/bomb_cooldown = 0 /mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) + if(!istype(A)) + return if(src.loc == summoner) src << "You must be manifested to create bombs!" return From bfa7119bef3979a16fc81152252c83e16ca5d463 Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Fri, 25 Sep 2015 14:06:40 -0500 Subject: [PATCH 3/4] Online editor, lets see if it compiles --- .../living/simple_animal/guardian/guardian.dm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index 37684be84a3..f2ae4a851e4 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -183,14 +183,17 @@ /mob/living/simple_animal/hostile/guardian/fire/Crossed(AM as mob|obj) ..() - if(istype(AM, /mob/living/)) - var/mob/living/M = AM - if(AM != src.summoner) - M.adjust_fire_stacks(7) - M.IgniteMob() + src.collision_ignite(AM) /mob/living/simple_animal/hostile/guardian/fire/Bumped(AM as mob|obj) ..() + src.collision_ignite(AM) + +/mob/living/simple_animal/hostile/guardian/fire/Bump(AM as mob|obj) + ..() + src.collision_ignite(AM) + +/mob/living/simple_animal/hostile/guardian/fire/collision_ignite(AM as mob|obj) if(istype(AM, /mob/living/)) var/mob/living/M = AM if(AM != src.summoner) @@ -199,11 +202,7 @@ /mob/living/simple_animal/hostile/guardian/fire/Bump(AM as mob|obj) ..() - if(istype(AM, /mob/living/)) - var/mob/living/M = AM - if(AM != src.summoner) - M.adjust_fire_stacks(7) - M.IgniteMob() + src.collision_ignite(AM) //Standard /mob/living/simple_animal/hostile/guardian/punch From 2b5d756a784d7e0169aefabf07d8208a198afdcb Mon Sep 17 00:00:00 2001 From: KorPhaeron Date: Fri, 25 Sep 2015 14:07:39 -0500 Subject: [PATCH 4/4] Oops --- 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 f2ae4a851e4..4e355f9a905 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -193,7 +193,7 @@ ..() src.collision_ignite(AM) -/mob/living/simple_animal/hostile/guardian/fire/collision_ignite(AM as mob|obj) +/mob/living/simple_animal/hostile/guardian/fire/proc/collision_ignite(AM as mob|obj) if(istype(AM, /mob/living/)) var/mob/living/M = AM if(AM != src.summoner)