From 9f02a93500ab3858f78dd21894851122ee7119b3 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 22 Jun 2015 19:35:18 -0400 Subject: [PATCH] v0.3.1: added in new trap sprites (no shading yet), added descriptions to existing traps --- assets/traps.png | Bin 7341 -> 9244 bytes .../levels/traps/AlarmTrap.java | 12 ++++++--- .../levels/traps/FireTrap.java | 11 ++++++--- .../levels/traps/GrippingTrap.java | 10 +++++++- .../levels/traps/LightningTrap.java | 10 +++++++- .../levels/traps/ParalyticTrap.java | 11 ++++++--- .../levels/traps/PoisonTrap.java | 10 ++++++-- .../levels/traps/SummoningTrap.java | 10 ++++++-- .../levels/traps/ToxicTrap.java | 11 ++++++--- .../levels/traps/Trap.java | 4 ++- .../sprites/TrapSprite.java | 23 +++++++++++++++++- .../windows/WndInfoTrap.java | 2 +- 12 files changed, 93 insertions(+), 21 deletions(-) diff --git a/assets/traps.png b/assets/traps.png index 8bef3d1298a4f34bd3c4396d21f4e8b7ba07742b..2c3e3a78108e529ad4047023a48c334520ab999c 100644 GIT binary patch literal 9244 zcma)i3pAA7*Z4E8Gcr_4SD|=g+$;5#P)bq;qa-nvFbrlSl#-$-mq8a48oE## zM!AezMkQo0?$lszm>F~XKYHKq`_}Kj)_;BfS!~qfEbIa|hv#JtQ z2><}qLkIUA0{{q!0{9gQ;B)+4^)h4S<%3>f0HCb7{DlD7xw;@x@!BDm{fcyjHEXt8 z?}tBQgCqt2!_NCa2z~@kA8`P%;l-hS4j!2P*}T{;{S#5m)NB1mgNtW9lP4}4 zN49C$YG}oC4BfO%@i8~eTzUP7-mA0Xp+Gx=<#-f*=I3K`CSg!q`;lrpRYQ%XPtDkl zh`61rj5q7qZ6-12k2gFHB-!PLEj}UnTK~pX`ubF+GWwFqwLT^fSDyLyjh(0fd_E9w z=sRLDSlkRWe+u?UUKerd(e9vQL9pM+`q9&npze&#uB(#aahONufk)$xo}qR;HdkCi zwrB3hVXe0ty}5ytu3~@sjBGt2c4_`s?UCI!i=yL2M}Dot&Q$JSC#+08&;SKEWf{e$ z2JqmL@#3R-(DPKnSyl~srJ8KP6lE!>IIrhXbuWEU)G%zw(xo!{$HEP%(Rb3`J->tt zy_Tr97TKQ`GWL-97E-SxY#I0vwU<%$hLcpkG}?5Vn^X{<1nKXK#w}o@45?O8<=&nc$fbkBTP}n81J{W@Cn_IS)kVl3C4_Uz5~^hY*Z7RUJOsm( zAhQ`9Zx8BU76qe3dM_16Uy%wIbpMrU3xoWN4To4~({yzHZk}2nU^5o>wUWU0BeC<& z?yjTg;3gh=E>3Hgo%!%O`EwtxDMdT#ELY}^fSrY?zF*weiW-Ch6IUeff_o28(R&*O z#^aTtL|p&dAo;XlCpABmxF{da`x4ghkRm;A5HLvn+Y)SBXH&q~Nldy%W%ehIZJy14< zd~@DqUep(;ik~Qb1*bf5c4MOq)1tMh*g(x2ZQskA*<}m?!xlHVfK|XFGUCRA)LT%4 z=D_%#?OoJhJM!7#^E6$(E7h#$OPDe1JlPiLkuA;Dd+}ax&TEIiza62gPHN^`C<259 z#2MW|{9)6&FA#j-AZL2;Q}7*h7%=Rmh)z|61YHn^y=O7IciJ2Vi=HBaT7wpT6qSnupgSyGLH7S=N150LG-;DXNLwD$8A(2VcC} z3%rl_?FR70^{v5Y!vF$I88j#{{0roizCM6a$|d#eQ3Ui4G!XLtAveDI7r|F6Y$Qu# z<8^q*-`TP^^Zq3pQ{_QV@L^=jvOeSQn8+zu>M5LLKohW`{0c$mPOC}kqqMz{#u#XZ z*@1C3zjXb^G&vPi+@u^U@m{_q+Gp6*Sa-33-Y2L;QkfILOAJ;Fn#i4CYK`*$vbymM zzbNKXs6!5e=Lm3AAT8!{U3&34G8j|xq}-*u^*en!%1u9{ex<D+Q zJBKP&Lk)ggDAr$z;|v@ithD1;tUL(*Y^M+aQ&h!%YMC5wsK%rE*ezyIYO<1V#>TBU zNrh`xWXX0#&nz)Ikvzc;qA6)ouBEyaav?7!NB0cla>F~@A$}(m*!0NXl$<47p-`}O z5}htvk|JPS1;$a!G#39<2RI9a?HaCSE5xHo;6->B%O9cFp!Q}UO{ ze!y4Do+2KZ+;RGCi555bF7T=_PqAQ3GQMZBR}X@r;ll^=NzJ0{4L8|PZbI)PWSCs0 zvs(Fo3s@`tm$1Xk(w<2wlic_p!fjz+ui!XPP%}Ossk1IJIVX?({E;{6+WSc`2*j)c z_M_ZD8=OPI@5pVsG5!ASB(OW_T!$+`*xK9Fbqe|J;)z?7F642-@%V?%2^YfR+8GO2 zC;SOS+8}a@IJT#V$1mCo#z)2!S|b5Q>d?bsGr^ z^P|D10@0(c88S{4(F?y%s)WfHpGsDqHWDkuvWmaRIyPV)-8@8|-|c%EN|p89iFXye zSl#7}_XFO$I^jLOjnxM|#vj&jFav@PDHL#`;yN^(*3L)8aZnh74I8aN4=}X502|vi zzHh?X58xX;)!Q5X_g_mTb|zJ(LgbHoFEQt(iW85;@CSj5I5)yisYBHN5a?s&Ehnar zQ4c>fENJn#P-ZUlF>3VVwgP`S2HG4pp4iXuk<~Mrj{^g1DM7yC^KwA0c3h6LHbY8z z;hfVv%(iPit--awy?||^QOV&yNDSvRF?vnCQa&gKIbB%U`RrK_=%G=vKo(uoN(m;% zF!nh~*97;90HX8CSoI+#@(y$&J+t~Vy4`!EdZL_FiaCoYq+p0Uq8yzH4ZPA;Uhazt zR0aIw!XdLd%tW9E@L-2H0qxbQknMB}xr!K?dOat^3GdD$pIhN8s4~P)(2{_Y7#Dx` z@@$@|8zcfK6^Os%o7&KhMEEAUKpn7&&QULDlXo$+uXX~w(TvY(w_TqCs!o8gjj1K` zr^`B+eAkrV_=(uPeiEH_G1o8+3$UDUe5dV^6;bIG$kov)EGH@}kM2`wb5= ze~MCf>gjqSt;I6v!7aPXr0RRUA>%o3x74|QW(k;I-fMt)}Qe)lb;Gp3$Pf3tFln(*}2 z*t))?05j|~y9Ep-m|8^L1#Pl^AXbBzMTKSGM5f-L(0uesDgP^COO~#W+oPe6#zwJD ziV$}x9t)z_!mLK>SlQ;`h1crY+VHeDHtY()Q5dl8+M?M-^$M3-NC^Jq^nMc~g?Liv z@gc^<4+C(O+px7Hs2r!pC5o8knPBfzy@k2Jxv1X4u$ZXz@lkcWB0ZPG@i9TGUXPZ& z2p|d>7Aa?IA$tHq*ELvEQEjCX=;3BSY~|SDccFH$e5hPaaSvdOZXzng&%M|Kw0W~j z9a#L;4SygerN2hp7L4(Y`VZu}&}1Zjf^p-Ofl#gI$OUnKF%RrSv%gX2co| zbk$EsyyUa@QyS6EkO!WH*iqgA^*@j}c4C^qXJE8zHcPC066bD_?=G{`*e69=(MLp3 z8O&&LS81b($e8VZ!KKmiQXN+T*v|zlCOy?4v`d?^W443Xr&aD-;I{=ooJvMfrqY8> z;66~A?AAo_k6TcG3GNL<{p%DO0-q|FEwMkV(bX*KEU`bQ(b+s;vCU3jaC9@I_7ZtP zp^uNbV_|DTL)XSXVK1gtlD^2ELgNwtg@_K`sEz^{s`sW$Gyf9-4}`co6XkpxG+rT| za+&>FOt7?1s7Kv^8`%;qiwvSVz*PtV{A)?;v~LQH?VidngFph6G;1YDpVmT68}Sq=eJ)w@4gDOIan;!G+MGL<^&blWVu#S zdRV4MRr6!TN|{HGn7;L z2w8oC{Xfs9A{neXq&B4TMg7nbd$e~((0hx?(DilTre+E7Z<}}}FIA|ngfAX2l{H{$ z>i+0zv5dNB#8%9#R*o7xPy``*+Z+q)jedIUbS-QUB(ZgoI3ov431^{j6es{m9 zt=wJFn1-$kh1g{-K4kl?=jQDKl#ia(o7A&Q&k`_gw~=DotUrG>KiWo)*(j}$j(^|T zk~UU(BK2(;b!`YHZ>Q_ew2YN9g-y&aK`Lyg=Q!McI@COYgk|6WW^Nlc&$ z(3pC4^kZiWjM^HR>v=Q(+?VV`dQwV zbsjhKpQlvk<0yxi#*N4aYo?IV4AdW{<-lbp!?;WJce-bo1xlo!Ct=?9a{(2W5xiB+hAZp6_v=R*#Ixb7h<8lcIL% zRBHvFVW$F{i#2rDl$D|H zg-;vd%F2jHnkKSi2i$@l1a4!}d92AQZWUqm&JQtR{Pw}D(aD7&EcM&vwzE3pwaRH> zs4qum?8xhd`T4>(xygntSVG4JOx#&xjLCN2G#s<%xgUd; z`J4hZ)3Xp7bstBXa;1y?wR@!tYNFjUqJzZYkW=+kwMr@L#)pxgsG=#+SeR>@AlcPN zT|e9A>2PfY-bUgqt=8EonbX{h8>!a+B5+Y7<-+7Sf3${q_ap}sYb~bGb%M!UY1=zS z!<1beJ5|WMAwR=LQhUh!>8E?8CfLPsk>*beU3m_4P4@@kYBn#shDP9%#*&r~otQaE zQ|T+E?Oe3Ab?*DwBfP(~$u+{Z2K9Ov>+W%O=|`d{1e=*05}C))FCO)bL<)#!I3D~S zMcjzK^AIRWwz}$%3E*6ryRtPdocE9{>I`gX79y{v{nL52*9Tg6<;#bE*>rY)Fl*z$ zSpR!rTz}%&$8(BP$K;3PyYTGM?OJo17>AV3n4}Z7bnF zEG|KbY$9`EbA4C5+}PXfjx{uB@~gQxtph4ls;j#*71uVv>L6t#q#(g2h5sW`wEfKM z*%t+)o&-=8FXXSCF@kI(hbAIoe;yXuJgA7Hl@gPPw&H7Dx%K$Dy5NoAkWAUCIm|MM z?<5?#H9FeDevyB?IA2{IN|H*nqtZr=9<)3y_SE-Rqzn1*L}bjaZVoLX|Lmw?1dDgR zH(V+{94tVWNxW{se{m10thXFyF9~olzpW1=8dph1qQV-8X*yR1h z2x4Q&7@7YobwZdwD<}OC+^PJr_sh!(bTog&9`sDO$Zn=zTN1^aa~B!R#dSDc_#H}F z-frF~;BS%TY1A!7jb$Ixo*6*Zp~WFFH`!RYK&*it6eHs<RMYvt2}6E^B-Sb(j>+L)%?E{~)=(ml<6M%1awQB5!e| z{9CDhly_MVndB=xbX|lKD1aLtm+KzHnbAT8yOr*#*bm|F@f)&MsR6aIws&(E^tMWl zQ9}o%uF}@J+5Ef*6w$bHr1UBJ#d!6c?Phvi$kg+ZA?wa9d`Hp8&a&~ZA5p@rOxrb~ zA4aF-iKE0(=3`52{&Z*FYJ$~B$@OABGvB;8eX5JD7%C0w<2>zECX7-CrAiV;Z+Uw) zonM(cqKxE!hVjTIaT{eyF{{KOvA>?P{HszCP2|~$tiuEcsQkghe!wnChrYBsPiOL# zt(+PWKbjngSMab@VsVOQaB-Y_6_Ft;rrBZaz&WWh!|9V}s?3Z?vVTOPxKjnYn7eik zJKT{=e>3)^B377wod}hGA3n(SqZMVzI>uX9lL%b8m((#-tA*wc#Kqkd4}DKlqjuQZ zARgH0EzDmL9)J*HdT9-_VQJg=FWrFvp{Yj2MT#q@!;YV3^Hq6UwG_GhN)azSxM7EP z=SpPFq+kgL2KE-6p3i4Y$|%p0kxm z=d7tzlyh_Okg+{MXZrSO!B993>eH|LH_1{7AUruKc{O{xAZJ# zXtQ66jB(So(=;qE(_d=w6sSD^{hC(2cYgp|Z6p1cU;PRLHEosRg`Jn9vH z2Dl&ed?nj! zcOl2I%4Vzqysp0M$Txd#oV@Pp!JrZo#yf7(u5GkpdCL7;Uli>P(`I)mxWG)31rN~Q z`FlH@>rz*D71lXWseW}1QLDJBZDEgyE0KG;o$Jc^e|0DjiRJ2GVj(pCk=LYazU{>_ zy1Cr$HO5UQ-AY81_~MG~$UvZ9SH^~XccIj<#EQ&$UKwX9=R!nMmS|8J>mGWKdS9i) z%E`_0A9S(GQO|;Iqh=61zkTa+67H^5OVTci^HCvPV=me)~05Wkh3 zP@RM)_1*(hRo+g%MEcm4XjYH92Y7fME;lTxiQ6U-NnlQ0H;Si0{xIA0k9>?K`<%$w z&>z>F%x;Uk>fY<43N%N1l^NDsnC%9}!!zNx_sI24Cdyp|9#kjQ!oPqlk)ibbFYZ)CvUo(|E-z;=3*;q z?NB1G^bNz3?L|A+;)A{yrT!M*pZ9)y!F}kviP!4@>|YdLM(zu!OV(n2*QWNY4KpLsS>|tsMq^FJp$L8$^yzD^%ghbPS=Ou@hG;ssvHD45a1wp zwt?z!tl|A5ShcejDW0+g`Kw8bl0=7HBq$&hyyHpP1E_{K&O7y*!0cl$vDQvs>vM3! zcIH}uvsgKd4pdY08Uk~XpkUi^*F<^%?USV`Fie}5oW$S!M4KOK7`C2;l<;qF$JsUW z923m-&pfu&U);GhZsIFr!%%f0#7E_cAwI=!GP@M=eh1bfK9#;GQMc$Mo*YV2*cwL@ zQf$dkJmoyxJf*lE)k{?Ho#pZFj&5P;5)}Zd!YP7G8v7!^I&Z)^I!ZJ%on8xQBQ<+t zNNg~x@)#Eo>nFHBUrB&8fdgJM5ptpa*h7KmP_#lnzqT0StU@Hj`+)0k>OnOjo(}sL{;^!5`VEYy*lFs+G+ysqAYk>NZv$> z6*zkj)rp?&Kw8dwQhHUzKiCNpGj+kPVQYxFEww=fidD;Dc6@tgSng9>b7IUXDgTPC zpy+r!k0MZukd$mF?#?WlLK{5Gg};q;xVaX-X)Ab#y4S|vrp_Pxi6o6lKh2m7DTr!4 zeOA(A*-fHZJB)JI37Cnit8CG^Q5e2PG3wf;F|2NNt?&Ye1Zh|kvzL_H^$9&Q3Vf$bfZXtdi}X} zI#P<{GTDa=waT<)NG$gNrgcF%DYa_;Pgr?-fbZrG^MTBXTjcGbR2b0n22+)CKo;OIWZNwO9MAvxvH*Hwm=7n+sD6eOFZzT6EI*q>oWubsV(+J z>t@McmNF6Bhd9gq!0hdoxNY_uB`L!Ea!EHD;aucz zHp1wN@!{hMo0RB>WC6dh!s)L-x9(-!_CiH=Mlr+6?Yl8UrM@PdafUrsn7>uF;K2IHm2dX| zRnA0nz^bV?MQ1c22W}2b3qI{KxzGJ+vVImUK3%`F765ZL%6?B9RRG>*@Pe5RmY717 z2jgA^I$@h^8*kiHd-sXvSe?%ZiK-EwNn@)QQqoq~X^c!qC+XI<1SB88p6}Ef_`X1vpe8vi=SC_P-m7~ybYyhHf-+h|n5G~M-oF_;=Hh>GvpP22i z)8Y)-a{9-XImP;r{pXeS71L(F>qqs)OsN88)^%=LF~2HAV21cP^^DNpPKnpvm>-X+ zd5s$J0~97EVijcBE%F5_49TpTetQ9erXKCNLP`F~*v4H#+ZAi(;3hE~pmD*eBl&uG zjNnvqd*Io9yP;J1kcQxI!EQrIKnTV}?m|PmP+eh^n|~BGD&{%jEl5+>H%uP*%5$in zsM=|@&)SC{0BjwIi4i0ufr)+LG{obBU|3NV(n48$0l5j{DB-1V)G+QRHK>dh4_B{_ z7Zre&CkH2>PR-vLi2i6 ziSp5E=x0Z&^8Ir$_Y-@0_L!ZbU4q>zkF>v}9Gkxhsr9p0SsOhj)$4yc-TH>InW+ll zM1>Oa581C%XfzGijGt`ZX8>A(vPtGwfF9_$SkV?vQDM!kBS&O@?=m@)~gGu8t_`{{8^qpUSZ*j?Lb3r)}t{bWjQM=8Y@fd!%&2zFTN9oRx@Ao1Xf#hXS{U!T|t(WaS z4q$eE%u`aawbJaG|2^d4%i0=)Uau}c=^{TVU^K#Wl=MDIbkW5!2~$xh{S})9nB(!E zEb~^3FY^`iQf?1n{=_1mBQKoxxj;?!*{-RZ72Mt|X#^TEu&sT85dQ0~ms}KXP%{PH z1C}}B-rA6>8~H^cf1|Fhdy-=eI&8fp=0Wwv-xrV9{noWs?aN^@XN!B)g=8x_yi&?# zD17vs%8!g#3Lk!Z?K^NMIZ|==;7Nfz&u7NG>9NB$)8Tz-}q?GKQUz{NLr7IZLw?(?j~f&>f4I`wPY zV`c*DevgVA##E8#VyskJxZJ>cepJpX*%UrD0Sc+R7v{ElRgSBIugqE?r)jgRtZ(9wy~s#* z*TGd!UqIeRf7c$#F744)@NNIW`1}xFL%IY&b6t}mm9G@=kEKNo_*P(}?5+_Nyo>Hj z$c6M%Z)s(UT^6{mZlEJ4M;sw8`z4@fOu=>54En*^drFXmFVjE0sqo_7qhB zmMW%MEF#6R|L%LYd*-&|lr6kD(6ABE!MTwko;Vj~EQ_Mq<2 zZ(?NN5?D*)NSIG5UgUpyWaXo=CnQ@zF)hc3Y%A~#7he{H3lCA?uz8($4^fCMNG#Tm zpO~FGwxNDBHg5B;(`H3W<9VTJMyTZ0$Y^%soQ=f$oYsL`gHfXDHse#3*fiDQu=;K#GUiQ_Fz3hZ*3MGp`)tTD5w_?zMcUxs|u9Z(xY?VEzU+<73TQMfB)U*F# zY=2@^L94MnSXFk!KQ_PHIh2Ih+mXF@#{_U}l|ibEikVUYvf>IlL7VI{{&S`-OCI;; z03=ROcrQ(6-ZrYGj{NgkzKDP6y1K+4mmw_X0&gjSwON z_`V;2n<)CsY4D{J2EW;R%;y#)L;H%C>ribDoT`8|sp5CNy{L44#|11JtveLcV6Ib1yU0M5=bkc`|)l*Ffd+pLY)JKf3Rgqwn?q103XeX#fBK literal 7341 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 N?a#T`yteXB_+R_?IPm}g diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java index f39645a8c..05d061798 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/AlarmTrap.java @@ -20,10 +20,10 @@ */ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.noosa.audio.Sample; import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; @@ -31,10 +31,10 @@ import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; public class AlarmTrap extends Trap { - // 0xDD3333 { name = "Alarm trap"; - image = 4; + color = TrapSprite.RED; + shape = TrapSprite.DOTS; } @Override @@ -51,4 +51,10 @@ public class AlarmTrap extends Trap { Sample.INSTANCE.play( Assets.SND_ALERT ); } + + @Override + public String desc() { + return "This trap seems to be tied to a loud alarm mechanism. " + + "Triggering it will likely alert everything on the level."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java index 18588d0fd..c0afe12da 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/FireTrap.java @@ -20,19 +20,19 @@ */ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; -import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Fire; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class FireTrap extends Trap { - // 0xFF7708 { name = "Fire trap"; - image = 1; + color = TrapSprite.ORANGE; + shape = TrapSprite.DOTS; } @Override @@ -42,4 +42,9 @@ public class FireTrap extends Trap { CellEmitter.get( pos ).burst( FlameParticle.FACTORY, 5 ); } + + @Override + public String desc() { + return "stepping on this trap will ignite a chemical mixture, setting the immediate area aflame."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java index 27d1cdb22..8bcb0fdb8 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrippingTrap.java @@ -27,13 +27,15 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple; import com.shatteredpixel.shatteredpixeldungeon.effects.Wound; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.utils.Random; public class GrippingTrap extends Trap { { name = "Gripping trap"; - image = 6; + color = TrapSprite.GREY; + shape = TrapSprite.CROSSHAIR; } @Override @@ -51,4 +53,10 @@ public class GrippingTrap extends Trap { } } + + @Override + public String desc() { + return "triggering this trap will send barbed claws along the ground, " + + "damaging the victims feet and rooting them in place."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java index 5d53b88a2..d1329b1a8 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/LightningTrap.java @@ -21,6 +21,7 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; import com.shatteredpixel.shatteredpixeldungeon.actors.Actor; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.noosa.Camera; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions; @@ -39,7 +40,8 @@ public class LightningTrap extends Trap { { name = "Lightning trap"; - image = 5; + color = TrapSprite.TEAL; + shape = TrapSprite.CROSSHAIR; } @Override @@ -73,4 +75,10 @@ public class LightningTrap extends Trap { public static final Electricity LIGHTNING = new Electricity(); public static class Electricity { } + + @Override + public String desc() { + return "A mechanism with a large amount of energy stored into it. " + + "Triggering the trap will discharge that energy into whever is nearby."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java index dea5ae67b..966619463 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ParalyticTrap.java @@ -21,17 +21,17 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ParalyticGas; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ParalyticTrap extends Trap{ - // 0xCCCC55 { name = "Paralytic gas trap"; - image = 2; + color = TrapSprite.YELLOW; + shape = TrapSprite.GRILL; } @Override @@ -40,4 +40,9 @@ public class ParalyticTrap extends Trap{ GameScene.add( Blob.seed( pos, 80 + 5 * Dungeon.depth, ParalyticGas.class ) ); } + + @Override + public String desc() { + return "Triggering this trap will set a cloud of paralytic gas loose within the surrounding area."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java index 2e6f46a31..151d2c611 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonTrap.java @@ -27,13 +27,14 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison; import com.shatteredpixel.shatteredpixeldungeon.effects.CellEmitter; import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PoisonParticle; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class PoisonTrap extends Trap{ - // 0xBB66EE { name = "Poison trap"; - image = 3; + color = TrapSprite.VIOLET; + shape = TrapSprite.CROSSHAIR; } @Override @@ -48,4 +49,9 @@ public class PoisonTrap extends Trap{ CellEmitter.center( pos ).burst( PoisonParticle.SPLASH, 3 ); } + + @Override + public String desc() { + return "A small dart-blower must be hidden nearby, activating this trap will cause it to shoot a pointed dart at you."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java index 012a20aa1..39a42481d 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/SummoningTrap.java @@ -30,16 +30,17 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Mob; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation; import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; import com.watabou.utils.Random; public class SummoningTrap extends Trap { private static final float DELAY = 2f; - // 0x770088 { name = "Summoning trap"; - image = 7; + color = TrapSprite.TEAL; + shape = TrapSprite.WAVES; } @Override @@ -91,4 +92,9 @@ public class SummoningTrap extends Trap { } } + + @Override + public String desc() { + return "Triggering this trap will summon a number of monsters from the surrounding floors to this location."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java index 008bc8193..fecba11ab 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/ToxicTrap.java @@ -21,17 +21,17 @@ package com.shatteredpixel.shatteredpixeldungeon.levels.traps; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; -import com.shatteredpixel.shatteredpixeldungeon.actors.Char; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob; import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.ToxicGas; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.TrapSprite; public class ToxicTrap extends Trap{ - // 0x40CC55 { name = "Toxic gas trap"; - image = 0; + color = TrapSprite.GREEN; + shape = TrapSprite.GRILL; } @Override @@ -40,4 +40,9 @@ public class ToxicTrap extends Trap{ GameScene.add( Blob.seed( pos, 300 + 20 * Dungeon.depth, ToxicGas.class ) ); } + + @Override + public String desc() { + return "Triggering this trap will set a cloud of toxic gas loose within the surrounding area."; + } } diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java index 53e80d0d8..5ba9ebe83 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/levels/traps/Trap.java @@ -35,7 +35,9 @@ public abstract class Trap implements Bundlable { public String name; - public int image; + public int color; + public int shape; + public int pos; public TrapSprite sprite; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/TrapSprite.java b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/TrapSprite.java index 939c1a07f..cba0b2693 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/sprites/TrapSprite.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/sprites/TrapSprite.java @@ -34,6 +34,27 @@ public class TrapSprite extends Image { private int pos = -1; + //trap colors + public static final int RED = 0; + public static final int ORANGE = 1; + public static final int YELLOW = 2; + public static final int GREEN = 3; + public static final int TEAL = 4; + public static final int VIOLET = 5; + public static final int WHITE = 6; + public static final int GREY = 7; + public static final int BLACK = 8; + + //trap shapes + public static final int DOTS = 0; + public static final int WAVES = 1; + public static final int GRILL = 2; + public static final int STARS = 3; + public static final int DIAMOND = 4; + public static final int CROSSHAIR = 5; + public static final int LARGE_DOT = 6; + + public TrapSprite() { super( Assets.TRAPS ); @@ -53,7 +74,7 @@ public class TrapSprite extends Image { revive(); - reset( trap.image + (((Dungeon.depth-1) / 5) * 8) ); + reset( trap.color + (trap.shape * 16) ); alpha( 1f ); pos = trap.pos; diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoTrap.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoTrap.java index 34ce42bc5..7fa786837 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoTrap.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndInfoTrap.java @@ -28,7 +28,7 @@ public class WndInfoTrap extends WndTitledMessage { public WndInfoTrap(Trap trap) { - super(new TrapSprite( trap.image + (((Dungeon.depth-1) / 5) * 8) ), trap.name, trap.desc()); + super(new TrapSprite( trap.color + (trap.shape * 16) ), trap.name, trap.desc()); }