From b28b80dd345e2e694b97db2dfdf6cbdab5493a17 Mon Sep 17 00:00:00 2001 From: ZomgPonies Date: Sun, 16 Feb 2014 18:19:27 -0500 Subject: [PATCH] Updated weeping angel --- .../living/simple_animal/hostile/statue.dm | 40 ++++++++++++++++-- data/investigate/singulo.html | 2 + icons/obj/statue.dmi | Bin 1307 -> 3074 bytes 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 data/investigate/singulo.html diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm index 1d6c6772a30..5caf9f7fe0f 100644 --- a/code/modules/mob/living/simple_animal/hostile/statue.dm +++ b/code/modules/mob/living/simple_animal/hostile/statue.dm @@ -4,9 +4,9 @@ name = "statue" // matches the name of the statue with the flesh-to-stone spell desc = "An incredibly lifelike marble carving. Its eyes seems to follow you.." // same as an ordinary statue with the added "eye following you" description icon = 'icons/obj/statue.dmi' - icon_state = "human_male" - icon_living = "human_male" - icon_dead = "human_male" + icon_state = "angelseen" + icon_living = "angelseen" + icon_dead = "angelseen" gender = NEUTER a_intent = "harm" @@ -64,9 +64,11 @@ /mob/living/simple_animal/hostile/statue/Move(var/turf/NewLoc) if(can_be_seen(NewLoc)) + icon_state = "angelseen" if(client) src << "You cannot move, there are eyes on you!" return 0 + icon_state = "angel" return ..() /mob/living/simple_animal/hostile/statue/Life() @@ -82,6 +84,7 @@ /mob/living/simple_animal/hostile/statue/AttackingTarget() if(!can_be_seen()) + icon_state = "angelattack" ..() /mob/living/simple_animal/hostile/statue/DestroySurroundings() @@ -94,9 +97,11 @@ /mob/living/simple_animal/hostile/statue/UnarmedAttack() if(can_be_seen()) + icon_state = "angelseen" if(client) src << "You cannot attack, there are eyes on you!" return + icon_state = "angelattack" ..() /mob/living/simple_animal/hostile/statue/proc/can_be_seen(var/turf/destination) @@ -118,10 +123,35 @@ for(var/atom/check in check_list) for(var/mob/living/M in viewers(world.view + 1, check) - src) if(M.client && CanAttack(M)) - if(!M.blinded && !(sdisabilities & BLIND)) + if(M.blinded || (sdisabilities & BLIND)) + return null + var/xdif = M.x - src.x + var/ydif = M.y - src.y + if(abs(xdif) < abs(ydif)) + //mob is either above or below src + if(ydif < 0 && M.dir == NORTH) + //mob is below src and looking up + return M + else if(ydif > 0 && M.dir == SOUTH) + //mob is above src and looking down + return M + else if(abs(xdif) > abs(ydif)) + //mob is either left or right of src + if(xdif < 0 && M.dir == EAST) + //mob is to the left of src and looking right + return M + else if(xdif > 0 && M.dir == WEST) + //mob is to the right of src and looking left + return M + else if (xdif == 0 && ydif == 0) + //mob is on the same tile as src return M return null + + + + // Cannot talk /mob/living/simple_animal/hostile/statue/say() @@ -182,6 +212,8 @@ var/turf/T = get_turf(L.loc) if(T && T in targets) L.eye_blind = max(L.eye_blind, 4) + if(issilicon(L)) + L.Weaken(4) return //Toggle Night Vision diff --git a/data/investigate/singulo.html b/data/investigate/singulo.html new file mode 100644 index 00000000000..c4bad095385 --- /dev/null +++ b/data/investigate/singulo.html @@ -0,0 +1,2 @@ +18:14 [0x200378c] (0,0,0) || Emitter deleted at (0,0,0)
+18:14 [0x200378b] (0,0,0) || Emitter deleted at (0,0,0)
diff --git a/icons/obj/statue.dmi b/icons/obj/statue.dmi index 46dec2a00330e76e47a139be8a4ebe10cc6dc2bb..9474155ee733808799faf3151e0c35a1a3f7053e 100644 GIT binary patch delta 2981 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 bssH^8Pq9J_f2DwW00000NkvXXu0mjf8#mx` delta 1201 zcmV;i1Wx;c7@G=ziBL{Q4GJ0x0000DNk~Le0001B0001B2m=5B0M$l^3IG5AU{Fj{ zMZmzoxxu*m?&i|azvAK8>gnN~z_NsZT=41P-Q3XU=H1}q+U)Gt&dj;z=Ge){w9n1F zyuPL4;nu*@$?E6c-Qn2Z;@PmvzxV9q_3Pu{;NbJ?YFH3IK)?KZqQSX%+wg1J+4IK~!jg?U`YF z;vfuw8!8*a>*?+0Zk_ko|Nk$S1loEt3C_~n7wMe(fO$y>A!(cD-oDlVU}?WO0GxBy zfMS1Z51`*$17L&Q8>64(JFgBv`44!h1n{mPfB^nc?+=bI74Wp7_N0FcNCe#m5aKqf z@-sn~j~ak&Vks=WM~*-L=99E;UeH=I3fYeHFl_hsv|g0tNcT^F;AdX zd)?fmF{$4hp4_EQg@C^gS$vQrKoXu`qKpm=q;ExV5Hlcx1n_8JUIUz>Y-a?Jk=j<4 zA0ZR?!)FPAVriq%AGv?KMCe-2Lqs}FdIB_;DscY@5c+2g6cg11{FDJD6YY2#c-{y* z+0TeT6X--hh!Y^<=SvNCQ?T2C=!yhr$xZiCXK-g4Tm}sAtbyaL3OjKj5x~Jn)BxiE znTh0+wFNf?4g@?ysh@{*WJM#A@D8}N|EvYhux*WC<7tg700w_LvX$D8)uJr@zl4yEEZdXqXjZTQJbDX&@_*x{5@Mb})F+ta ztAOpx!5v<<#sq)N0)}D%O~5eG_Vv%JD*x=rRY#Z>YKrv(MH4-aj08i0Lj8aPNPeM0 z(bEDl;9Gdp{U|A5sgTN0=jFVnP(M&^=1{zo^U6sEzFIl;b2RzE)Dk$*f$l_$0oicosY&7VR=`zl-x(EB6#%TQ!P)?8 z4NCRH740u=wCaaz+TKe3uc;62?cVO~yW85k(>_XT0G5T}viy|+>7MLbgwqMA z`dkfgdKkv1AL|fK!!YDWD{HBc2usew5`hrIn#+Goh;(ls##Ws$U=@E>2`|V^6!{3q zRjOHS-wp`8$o!;nd}3FVfB<@o8A3$iA?sm2n7xfa0QwihYJem^23DliA9|7~60XIf%0E&e3FVz*mc%*$<(mnt_H6jM@)Pe^9 P000R9NkvXXu0mjfyO}@$