From a1b2f8f00f3495b84c6a26c5f0e235c79cd9f2cc Mon Sep 17 00:00:00 2001 From: Incoming Date: Mon, 29 Sep 2014 19:05:23 -0400 Subject: [PATCH 1/3] Hopefully the final pass of initial tweaks and fixes for summon events *Reworks teleporation so change places doesn't leave people distantly locked to chairs *Adds a sanity check for improved spellcasting for some badmin abuse *Delays zombie outbreak from occuring until 20 minutes into the round because it was often occuring before there was ample dead *Removes the earmuffs from the cursed items loadout for being neither fun nor useful to anyone *Removes the fake explosion from summon events for losing its appeal once it was expected, it still exists as a badmin event though. *Reels in the 4th wall shattering nature of the greentext a bit *Adds a message to affected people for Change Races, since some people are so decked out in gear they wouldn't even notice anything had happened *Fixes change names to actually work *Rewrites change minds to avoid edge cases where some people could be swapped twice back into their original body --- code/datums/helper_datums/teleport.dm | 5 +++++ code/modules/events/wizard/aid.dm | 2 ++ code/modules/events/wizard/blobies.dm | 2 +- code/modules/events/wizard/curseditems.dm | 3 +-- code/modules/events/wizard/fakeexplosion.dm | 2 +- code/modules/events/wizard/greentext.dm | 2 +- code/modules/events/wizard/race.dm | 1 + code/modules/events/wizard/shuffle.dm | 13 +++++++------ icons/obj/wizard.dmi | Bin 9130 -> 9117 bytes 9 files changed, 19 insertions(+), 11 deletions(-) diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index 45922040d7f..c5bff0660e2 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -118,6 +118,11 @@ if(teleatom.Move(destturf)) playSpecials(destturf,effectout,soundout) + if(isliving(teleatom)) + var/mob/living/L = teleatom + if(L.buckled) + L.buckled.unbuckle() + destarea.Entered(teleatom) return 1 diff --git a/code/modules/events/wizard/aid.dm b/code/modules/events/wizard/aid.dm index 8c215e0fbe0..f7689ae4e1f 100644 --- a/code/modules/events/wizard/aid.dm +++ b/code/modules/events/wizard/aid.dm @@ -34,6 +34,8 @@ for(var/obj/effect/proc_holder/spell/S in L.mind.spell_list) S.name = initial(S.name) S.spell_level++ + if(S.spell_level >= 6 || S.charge_max <= 0) //Badmin checks, these should never be a problem in normal play + continue S.charge_max = round(initial(S.charge_max) - S.spell_level * (initial(S.charge_max) - S.cooldown_min)/ S.level_max) if(S.charge_max < S.charge_counter) S.charge_counter = S.charge_max diff --git a/code/modules/events/wizard/blobies.dm b/code/modules/events/wizard/blobies.dm index aff93fccaa7..d66cd5f76c3 100644 --- a/code/modules/events/wizard/blobies.dm +++ b/code/modules/events/wizard/blobies.dm @@ -3,7 +3,7 @@ weight = 3 typepath = /datum/round_event/wizard/blobies/ max_occurrences = 3 - earliest_start = 0 + earliest_start = 12000 // 20 minutes (gotta get some bodies made!) /datum/round_event/wizard/blobies/start() diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 340e3a0c268..c057de5b96e 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -10,7 +10,7 @@ //item you want to equip to the hand, and set its slots_flags = null. Only items equiped to hands need do this. /datum/round_event/wizard/cursed_items/start() - var/item_set = pick("wizardmimic", "swords", "bigfatdoobie", "boxing", "voicemodulators", "headphones") + var/item_set = pick("wizardmimic", "swords", "bigfatdoobie", "boxing", "voicemodulators") var/list/wearslots = list(slot_wear_suit, slot_shoes, slot_head, slot_wear_mask, slot_r_hand, slot_gloves, slot_ears) var/list/loadout = list() var/ruins_spaceworthiness @@ -29,7 +29,6 @@ loadout[6] = /obj/item/clothing/gloves/boxing ruins_spaceworthiness = 1 if("voicemodulators") loadout[4] = /obj/item/clothing/mask/gas/voice - if("headphones") loadout[7] = /obj/item/clothing/ears/earmuffs for(var/mob/living/carbon/human/H in living_mob_list) if(ruins_spaceworthiness && (H.z != 1 || istype(H.loc, /turf/space))) continue //#savetheminers diff --git a/code/modules/events/wizard/fakeexplosion.dm b/code/modules/events/wizard/fakeexplosion.dm index 893b6d2e95b..1424d63c18e 100644 --- a/code/modules/events/wizard/fakeexplosion.dm +++ b/code/modules/events/wizard/fakeexplosion.dm @@ -1,6 +1,6 @@ /datum/round_event_control/wizard/fake_explosion //Oh no the station is gone! name = "Fake Explosion" - weight = 2 + weight = 0 //Badmin exclusive now because once it's expected its not funny typepath = /datum/round_event/wizard/fake_explosion/ max_occurrences = 1 earliest_start = 0 diff --git a/code/modules/events/wizard/greentext.dm b/code/modules/events/wizard/greentext.dm index 6ac5ad460ee..3d8b0f4ddca 100644 --- a/code/modules/events/wizard/greentext.dm +++ b/code/modules/events/wizard/greentext.dm @@ -21,7 +21,7 @@ /obj/item/weapon/greentext/ name = "greentext" - desc = "for some the pursuit of greentext is the greatest calling in life..." + desc = "No one knows what this massive tome does, but it feels desirable all the same..." w_class = 4.0 icon = 'icons/obj/wizard.dmi' icon_state = "greentext" diff --git a/code/modules/events/wizard/race.dm b/code/modules/events/wizard/race.dm index a28dab20daf..96d8c5ea8ff 100644 --- a/code/modules/events/wizard/race.dm +++ b/code/modules/events/wizard/race.dm @@ -18,5 +18,6 @@ if(H.dna) H.dna.species = new new_species H.regenerate_icons() + H << "You feel somehow... different?" if(!all_the_same) new_species = pick(all_species) diff --git a/code/modules/events/wizard/shuffle.dm b/code/modules/events/wizard/shuffle.dm index e49d9be5368..4315f3a4261 100644 --- a/code/modules/events/wizard/shuffle.dm +++ b/code/modules/events/wizard/shuffle.dm @@ -24,7 +24,7 @@ for(var/mob/living/carbon/human/H in mobs) if(!moblocs) break //locs aren't always unique, so this may come into play - H.loc = moblocs[moblocs.len] + do_teleport(H, moblocs[moblocs.len]) moblocs.len -= 1 for(var/mob/living/carbon/human/H in living_mob_list) @@ -46,7 +46,7 @@ var/list/mobs = list() for(var/mob/living/carbon/human/H in living_mob_list) - mobnames += H.name + mobnames += H.real_name mobs += H if(!mobs) return @@ -56,7 +56,7 @@ for(var/mob/living/carbon/human/H in mobs) if(!mobnames) break - H.name = mobnames[mobnames.len] + H.real_name = mobnames[mobnames.len] mobnames.len -= 1 for(var/mob/living/carbon/human/H in living_mob_list) @@ -85,10 +85,11 @@ shuffle(mobs) var/obj/effect/proc_holder/spell/targeted/mind_transfer/swapper = new /obj/effect/proc_holder/spell/targeted/mind_transfer/ - for(var/mob/living/carbon/human/H in mobs) + while(mobs.len > 1) + var/mob/living/carbon/human/H = pick(mobs) + mobs -= H swapper.cast(list(H), mobs[mobs.len], 1) - mobs.len -= 1 - if(mobs.len <= 1) break + mobs -= mobs[mobs.len] for(var/mob/living/carbon/human/H in living_mob_list) var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() diff --git a/icons/obj/wizard.dmi b/icons/obj/wizard.dmi index 19a835048640332de3e58ed85b7bd2c369c617e0..b87ea13bf30d60a827489f4d5a504f4ebb5174f5 100644 GIT binary patch delta 8864 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%0Dv#BK-$j8=7F|R!UBt1rgY^shhC5vq_h) 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 B&Cvh= delta 8853 zcmX|lby!n>*#6lV(k&@5N$JkNdKPh@C*(JYgNfPsc%wMSrpZ)gu4rInN!hU3Gc z4Kkbx!Z5{Ftd8h3QDB=Nwb;1iO$?_L&EeHU;okNM%+%uCdnn6RzBaz5FlA)v_IIbtmP>_cl2>968pLEFM zhI<`9GvUgMtXvwtZ~K_0NixNCqY82rMc|U8dMvF1Bo^^^GpjkO*k~~ zFTm`?{VwHWZM2y2E|T^+m|H;hZUiMT*35O4!tkL8ag`@VT=J@+9hi?ji@nUv&_{5b zN9f>CfcU*9J3W%#}p2rW6!$R3F zxw(+D-*Y}MQ#yjq%293PIS0GxGaNr|lyA6Zh0UxHfd*cN=U~E(L;M&x&`_Q1va`aH z)nQ6cnOfqw<5FBam{?_%RvtaFT~PbtFi>eJao4;iOGIJ>Bfd@U27gv zeB*}*fC6P385&xATvIWQ#zg0Q8paSQSGD4&Y*|qBibCSe#lG8%tr`Da={t76)Z_MG%^Eha z5jS5|?3RBcVk7hxlR4{mdf%8^4=>S9!_$sxZIJDy21#s! z2TPjgF6Db8#@BExJ$kok0Dy!d)3<=w@9YBQfUAvtmKqIsqBFC9@tUdc3g# zJNdLn+<87rkdJ#YGsiawH2^>bi$5QQ1$`keR1gQdrbs0Tc)9rYyF5<2N}>dMUS2JT zEc))lE^$ejDG^Gd&@<+^_C)J=j|Vk^Yp_%jqkHbR(EzH9r`9zu0GO&H1r?y0%E1f- zOJ5TLVAeKT0A->p0~H9T?W=x^<_4Fuk^X)rlULocH)0kIs6i?&)2uVk#Nx9E<^!k-rEk~zw3|ZT}&dG(YUHNR>B#yn$z5A? zWEef62w2uNch#1CM9a$7QpZu$2)X^3&&r&Zwvhs`O8MzSoO3>QM^n>GEGQ`gZ3UnwK)T&6g_gy~@+neblkZr+o;tWUGvr`Yol;3)QnPGmdMnZv34RI#(Dnj-WR3iU)zUc%m(4S|za_1q*!+eUbQy{7a~A}Sxb&;O8`&@g?q zLcSHnTqUK!cplV|H$Suvl4&P?fr*RA~tNYgZPH))K$h;1s3cW|JngBmgn>=kVx5XSevK1)bZ-F9_Krd=5US^UMO00 z%7CC?d>UZWNP;`Edo3|J*79ts6ImWe^Gx3R)%!bThZpQHNUV$p?yN0Kr4>tI%u)Fd zr@ijx5Sahd0Mv($)-5P|nxK?rXRvr0gNrlW;uN8CA(?{w2KQMXc9ibZWNv2~(LbH1 z(clQ2%j#`T~M~Rg~?M{71CB!7pGUabiSd>UW zOnfQM$v1aV*8+|0aH^eIDgn#=Im`CNTlT5;jws;ZpCMQP4qx`{wJ>0zly@o^jPFr< zoov_3&n~_9dxhQlUcK2}Mfq0=&lVRYs|P%zg4w=p&Jf^}B5v&O75L6MbJxF)E4I(N z)Nc6aUSXe&c~SZ?`O{Nab|XFGb$I{ws~SgMOp%IR&Ev%Rr>N+bbxUr?1ii!V=GrF> z{e>XmfP;F!nB-L2XWEtNs$4TBCl1-)(Fy)eWX(W@*djr?#aUeoqfJ?E&P%#rK<7Ck?HA4t2bMPz8pg= zoDkl>zauQhdBvIv-8gK)=5fh}#~bL?=*R=cG$@c;VbIgpL^Cw7@WVRWa}sfYOa-klZRs2>yJw`Qc#jO=QimXqZ`(?oL#c{D+4ZQj_hV zDf}~8?**gKc8rc;8*#rivVEv9&j4I3Fd_@{68PM59h#lA^!zH!Gi!F`^%bfWly2!Z zLybm{iO|eaGjZq1kh^CSPstsi6MdqrKR zdhl=@T+w@Ze*P_#JAjO13+f$iJ<)6(3Sph`mRk<1e8Y@;Gnw-i~`?` z(EL)6Fk$(W9el9{050zO7J^R?AZU9*KyahWpMySpUiw4Du+#J?`e6IzVq zfF(9UK0=!5E)ypCo-%u`bCEeidfwai%|C%Mkusc)|8D)-lXk|v)a%&QED{me?LnSR zTH@;uW$%n_<^)07kZIB6qU~PFGj!cOinxx=;L0su@RLS&pBSmsU{Yd5tt)>}cRBtZ za?I~*?Ui{|9Rn5b^~kr1BGtNb|F`!U0@wLSwFdAa23|(LDyUPxMc82t)8dCvGNDw( zgZ50$87X>K5$NqmAysLKw~{hUO6OIuXpNpy2Vyz^QEB)Xc!Z}iQVrds{cBfH7Fw{f*%5>WKsM7lN&7+@}j)ZDq1apzN4NS z#v~>LF#V4EKo+QRBLc8C)B*&Mn`c5$O#J`7#|U{1`r^D$6gQT29er_o$8RIy4OGIK z8c;@lXD0ZH2y?W)x8V)eRCoey6_)H(o?#?F+13#UFsdgo>BeZYK%}S5^(zG)CeT0q zvBMXS#=Ogmyh4#Z_szc&znEw}P>GQFg_l4Q;sZpPv^e5+{4NB~?DCn?lEir~&eP(; z@CDFnnVHgK+y3V)sZ|%r!LsbCC43-@5UpuYE$hlLQ>KpoBS%$Fqd!*@Va)64Zjfq3 zf3Y-yPfrCpJ_oG)>DzNnh^6g5(w<-vi{bZ=z0#pw8RdB+IGW~?wW}J>^Ixx3Y$9Kw zXYAKBK3!Sji@1szBab7M@1`_yB?74elz>HFD;A3a*liB!_A))UGm~Z|uI1u-`HIw1+L_IM4n>d#_vq#13X;f!l5=oez%e=prLPqv*(X5V} zL`jd2L!G3ivG_%9S(lro+ntpo_7j*hRdBI6rJbu<_E4;YkiBniw0b);a1$rE4dNGr zjzq#55Xx}(RDKKP><#Z21isoylcw_WNZW#cipY50wTPRiKW(e8#@@I>Q%KYDmC#+) z>eQEFiW=Ni1J*GQ-%~aaTqsZOE#p4bSKs^|_Pr^n0>NBNWAj}KS)^&3;JPnT^Z;1& zmP5Xv0M9cn2={jnQw18&Ev` zYZ5LLkG7YGYC~@Ek>-!dY@a-qLuIu7QCO_+%x^29bY_-#mi170CSB}!dp6U37_|@R z|6fP-2mhmzjf~WChiB&7L$8?HPZ-JE3d7wIoHGXm$~|GLKmOrClpwP2Rm2COqz|7m zx8YMdU1!b z0L@pB%l_r^h&Lr3C^0HJ!n7$V2-fjIbQK&}e`%IGp$YTK@-ej((y1;T|L= z$2o3)2ela^fOA5nqM=q8Tt^p;;1&&%vFVK>t(NyDRof)StDU=<37s~s#-c96>>Ly6 zbv`|i)*6g=wMEU*=!dTc%6Q+w`)P~G!-Lg-eR&7JEu6~@44@Mujxzo2)k$bJfLa7Z zn3PyycpySQLb=Z<^pYA+Cl zb*R+8ejUld^~_8@$#V&r<=(L)XZ){xCPj0a*%Um)nouJJ$2FjHu-Smj#UL z0TcH$o;Odq@FNlwaXJX?d=5z}&LX!rCVu5HI=QRfB3$n@fbz$S{!>EX{<%JRV4g8- z_#9hR0tQ)0(w9u+e3Qt|MWqlD@j-Z+v(P?uR~w2H5+0fRIwEltDDYNGK!ua|E>Q->@|NJRwYIPEyn{X`GJ$$C6vB9O?RAh9u|0 zg@lv1AGL4;lGVcDf6jIBfAc}wUcsr~)QKpodI+pRhhvms@!aYcA;Yxt!CKt85$a-8 zsp?t@&*A!pY|qFh^l$pp*@sAjY)NF&Oo2u-T3I3q3?zALXIXchj{YVY2q#U5Z5@u| zd*CI=PR=R?EQC-q=R>(E-ur#_InIzGXGylIPDt@nB(9&v>N9)p_K$i z4tFWrHaJWG$1O!wb&BQlQ#ll&=Mg!dLHSrOf&V*}itS1PszQPa%gZ`Jv%df07)vW) z0#-0235EiJUcG(B{O?6EEZ#7PH_RFX7ovucqyJ8`sQZr^{%QkS1U|F~2%*qCWtdwe zNe?K}zRh?yGK!9jamk#vS*S^!3Da6mDF*!fMghm~f9|E2=0nNkL!1wMxMr&MwhMLh!D168h4HZ#+AVTcyWn%7Z zYSjEDVyCS+@HA`2aAqZTiE5k3&d#1!GUzSW+M7Wk%LCbA1%M~6Rk_$^g7`C~&~ysv zwvz>v*@hESPZQyAjNW0p98Br#ZA!V1h+TR;eL_Q;OOurtu7Krb&3=xQEL(Nr8>l<# zP{s+#+Q6#>s}-M0_v)Fx4d0_qc3WJexu1fK(|lIDC)4mHG4JQ`RQvBUj}@Ee4%b{< zG~b)LRzY_L=`g`LbwGleVkAXK!#_Lx?FUssRb)`KQ0-Nfj7bv(nLbGNx;3 zX;E768no9#a8+gv2bc z0^@~3!_ZnbX8ly2ldta@FU4PX5@*KDx_~hxOnveF_ zwMcC5?wqOf%`RiaqvRy1Ba~ZfX7AaGXT4H`=K zO^LC|ibBdzwVp;E90E_o7afD!lf%~HP}X;YSO@nFsY7r1--~{BX!ZwoOf^c8`l7IpSgzTf>^JY z40MrR>d=Al5)Z2<|7te3H+~$xJdPOC zoUgfirwTl=vBW?b9YL=-p5cd-!Bdvzp1d#bkmXFv)lqKvdy$#qW*_sf?~8>ytUXZn zy9u<2MRs4cz!V5~lKxl;j)BhBxX%0~rDX0#b1sy_4%}RRxs zIJrT9$tTnV*Y=n1<^A0L8C6x)>5z>IY!Dw24EhzN7Onv;Ayz-SCp_Z)Z`_(Jm*9Q2 z72?kcES+>7%KCG*C`2s2JaPb~e2B54P)Z-rt1%&DadJYCnR24(Z#>eRXLyDN5CvCw zK2ZjLH)GX!BUwvTpZTPVezU~BKuV-ev2J8+gl<>o*7uudavj$XdTR|+Si*dbzMAV5 z+1lQ7YkNdzIwyPdsG_ThK<7)mW%)EVa9QQCB34nN$?byupZlGpF9ATH(!2(6=whX< z^s!QV#LA2B(StQ+Af{IvXMPd|stG?7fUBCuUzDDH9xAzz$T6oZSbchS%#FCP!yd6n zuMP)Hw)J!m+uQr5uFL!(`uK>>H=26$cVDWB94tXqe)wcP?A$4+^o{BvmoA(HBjpO) z^qpuvcXr;X^84M2K_E5h#zH*L3`Vt(RkFb8xDt2eGCjSsG53?7UD-RQP@VFR{DOA0 zmj}*hWj?Je-PWYQlvo%x?=xFW?nVU3R)JAm0& zAJM<_(HljvJV%%_NbIH@*`^D8l6-cGURgdRS~*mNg3*f|Y!N>TBjS6G=;_38i7u;v zU>lKR`sfm&YZ!G>Zo8rHRG{A!P~BDQFmz!s^Wbb{bPV$GV};h}*y6AngNBc%N*$ha zv9oI3_<<7@_cl+vE3h?vkP85%sBK)4-o^N>=f73_*dYM712HtW^W$;Xu3}M;TcN$K zyn+j~1P!Wg{6k+?V#hCi7i4X5KO9|%G<7^Y+w!YZz_&U~l%4+7t#n|`Eh}RLPh8|I zjyq`{%+%XTg_JrIJBLPrzur>Eo>go4(<_tM({Ov}>C9XCANZc0rm($V^_-DWje6r_ zISnPcDwakfSxdU$p+pjPi#U7oz-;3n6?`n83-0`$K9C5q=Lg_^BeyqR+VI@-QydYA z>=rkDV_3*4rlvNx!Yl~huJJbux%$zPag+9Dmjr}t&kbo-Sqxp2dWd>ZA?!PgwPpL$aP48#B7`fLr0sv5pyXvZj zXRRAuHca}`IKl<@gq~dmhBN>AGJFr+vyJ{C{|uv39G4OT=}Nz6pE1Zg^S#B3gknk7D9r$_H9?sz@~d>h(dqNYb?$jy74V* zLmU{}k%f?I8{qH9bo`>Y4Fyad{v!5#+CQ=xtl9O?D^|L2xD4?$^@1UA3eIhVTk2Nj;s8U1js^#`F;F>yV)mYreBQmWdD0loA=`q>h*&((dfG4gR}i(PX0(07%uc zpT5_-|8Q_Qc@}eUsk+P&3mDbac?1z|NYt%fuB@(F#AcXJ6rFsZcyiFZo=)ZnZvRW- zA$I=p3#9+W_MWo$yuYz%m8dlHX;bi1dGEab3i8$>PSw5V9$d;2R4nD$JGq`OXaQz0W8f+4-R Date: Tue, 30 Sep 2014 14:08:01 -0400 Subject: [PATCH 2/3] Normal, Magic, and Holiday events will be seperated out on the trigger event menu Fixes #5033 The invincibilty event won't cure benificial viruses Fixes #5034 --- code/modules/events/event_manager.dm | 15 +++++++++++++-- code/modules/reagents/Chemistry-Reagents.dm | 2 ++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index c2035b0e378..13ea11fb964 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -124,9 +124,20 @@ var/datum/controller/event/events holder.forceEvent() /datum/admins/proc/forceEvent() - var/dat = "" + var/dat = "" + var/normal = "" + var/magic = "" + var/holiday = "" for(var/datum/round_event_control/E in events.control) - dat += "
[E]" + dat = "
[E]" + if(E.holidayID) + holiday += dat + else if(E.wizardevent) + magic += dat + else + normal += dat + + dat = normal + "
" + magic + "
" + holiday var/datum/browser/popup = new(usr, "forceevent", "Force Random Event", 300, 750) popup.set_content(dat) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 4ec642bdadf..c3f7b6b97ea 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -996,6 +996,8 @@ datum/reagent/adminordrazine/on_mob_life(var/mob/living/carbon/M as mob) M.sleeping = 0 M.jitteriness = 0 for(var/datum/disease/D in M.viruses) + if(D.severity == D.non_threat) + continue D.spread = "Remissive" D.stage-- if(D.stage < 1) From 6aacfbcaaf75ef76e0b3a6eaacbf15873f8e7497 Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 2 Oct 2014 13:23:32 -0400 Subject: [PATCH 3/3] *Admins will be notified when Summon Events is put into play (Fixes #5057) *Adds a badmin summon events button the secret menu, it's a toggle so you can turn it off at will as well. --- code/game/gamemodes/wizard/rightandwrong.dm | 8 +++++--- code/game/gamemodes/wizard/spellbook.dm | 2 +- code/modules/admin/admin.dm | 1 + code/modules/admin/topic.dm | 16 ++++++++++++++++ code/modules/events/event_manager.dm | 8 +++++++- 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 5c6e9ff06f7..e8560103ecc 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -134,12 +134,12 @@ new /obj/item/weapon/gun/magic/staff/chaos(get_turf(H)) H << "You suddenly feel lucky." -/mob/proc/summonevents() +/proc/summonevents() if(events) //if there isn't something is very wrong if(!events.wizardmode) - events.toggleWizardmode() events.frequency_lower = 600 //1 minute lower bound events.frequency_upper = 3000 //5 minutes upper bound + events.toggleWizardmode() events.reschedule() else //Speed it up @@ -148,4 +148,6 @@ if(events.frequency_upper < events.frequency_lower) events.frequency_upper = events.frequency_lower //this can't happen unless somehow multiple spellbooks are used, but just in case - events.reschedule() + events.reschedule() + message_admins("Summon Events intensifies, events will now occur every [events.frequency_lower / 600] to [events.frequency_upper / 600] minutes.") + log_game("Summon Events was increased!") diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index aded7d5e8d2..09cad46c59b 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -305,7 +305,7 @@ temp = "You have cast summon magic." if("summonevents") feedback_add_details("wizard_spell_learned","SE") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - H.summonevents() + summonevents() max_uses-- temp = "You have cast summon events." if("staffchange") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 2f00ae34b70..3459e1ebe67 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -444,6 +444,7 @@ var/global/floorIsLava = 0 Everyone is the traitor
Summon Guns
Summon Magic
+ Summon Events (Toggle)
There can only be one!
Make all players retarded
Egalitarian Station Mode
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 54ca285ed53..c00a662f66f 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1853,6 +1853,22 @@ feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","SM") rightandwrong(1, usr) + if("events") + if(events && !events.wizardmode) + if(alert("Do you want to toggle summon events on?",,"Yes","No") == "Yes") + summonevents() + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","SE") + + else if(events && events.wizardmode) + switch(alert("What would you like to do?",,"Intensify Summon Events","Turn Off Summon Events","Nothing")) + if("Intensify Summon Events") + summonevents() + feedback_inc("admin_secrets_fun_used",1) + feedback_add_details("admin_secrets_fun_used","SE") + if("Turn Off Summon Events") + events.toggleWizardmode() + events.resetFrequency() if("dorf") feedback_inc("admin_secrets_fun_used",1) feedback_add_details("admin_secrets_fun_used","DF") diff --git a/code/modules/events/event_manager.dm b/code/modules/events/event_manager.dm index 13ea11fb964..cf18c8b549f 100644 --- a/code/modules/events/event_manager.dm +++ b/code/modules/events/event_manager.dm @@ -273,4 +273,10 @@ var/datum/controller/event/events for(var/datum/round_event_control/E in control) E.weight = initial(E.weight) if((E.wizardevent && !wizardmode) || (!E.wizardevent && wizardmode)) - E.weight = 0 \ No newline at end of file + E.weight = 0 + message_admins("Summon Events has been [wizardmode ? "enabled, events will occur every [events.frequency_lower / 600] to [events.frequency_upper / 600] minutes" : "disabled"]!") + log_game("Summon Events was [wizardmode ? "enabled" : "disabled"]!") + +/datum/controller/event/proc/resetFrequency() + frequency_lower = initial(frequency_lower) + frequency_upper = initial(frequency_upper) \ No newline at end of file