From ce8d8be416ddf72a3bb40f5b639a10df7a59ba7b Mon Sep 17 00:00:00 2001 From: "petethegoat@gmail.com" Date: Sat, 27 Oct 2012 16:39:52 +0000 Subject: [PATCH] Made mousetraps an assembly. The path has changed from /obj/item/weapon/mousetrap to /obj/item/device/assembly/mousetrap Deleted mousetraps.dm, and removed the original define from weapon.dm Added a new /obj/item proc, on_found(). It's called when pockets are emptied, and whenever someone looks in a storage item. Currently used only by mousetraps and facehuggers~ Updated the map with path changes. Updated the changelog. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4969 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/obj/weapon.dm | 17 --- code/game/mecha/equipment/weapons/weapons.dm | 6 +- code/game/objects/items.dm | 4 + code/game/objects/items/weapons/mousetraps.dm | 94 -------------- .../objects/items/weapons/storage/storage.dm | 26 ++-- code/modules/assembly/holder.dm | 27 +++- code/modules/assembly/igniter.dm | 3 - code/modules/assembly/mousetrap.dm | 115 ++++++++++++++++++ .../living/carbon/alien/special/facehugger.dm | 4 + .../mob/living/carbon/human/inventory.dm | 18 +-- html/changelog.html | 14 ++- icons/obj/assemblies/new_assemblies.dmi | Bin 2287 -> 3346 bytes icons/obj/weapons.dmi | Bin 18405 -> 18746 bytes maps/tgstation.2.0.9.dmm | 2 +- tgstation.dme | 3 +- 15 files changed, 179 insertions(+), 154 deletions(-) delete mode 100644 code/game/objects/items/weapons/mousetraps.dm create mode 100644 code/modules/assembly/mousetrap.dm diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 99bf63bd18..b93e418a5c 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1468,23 +1468,6 @@ var/cigarcount = 6 flags = ONBELT | TABLEPASS */ - -/obj/item/weapon/mousetrap - name = "mousetrap" - desc = "A handy little spring-loaded trap for catching pesty rodents." - icon = 'icons/obj/weapons.dmi' - icon_state = "mousetrap" - item_state = "mousetrap" - w_class = 1 - force = null - throwforce = null - var/armed = 0 - origin_tech = "combat=1" - -/obj/item/weapon/mousetrap/armed - icon_state = "mousetraparmed" - armed = 1 - /obj/item/weapon/pai_cable desc = "A flexible coated cable with a universal jack on one end." name = "data cable" diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 2dbce333dd..54c71382fb 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -361,7 +361,7 @@ /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/mousetrap_mortar name = "Mousetrap Mortar" icon_state = "mecha_mousetrapmrtr" - projectile = /obj/item/weapon/mousetrap + projectile = /obj/item/device/assembly/mousetrap fire_sound = 'sound/items/bikehorn.ogg' projectiles = 15 missile_speed = 1.5 @@ -379,8 +379,8 @@ action(target) if(!action_checks(target)) return set_ready_state(0) - var/obj/item/weapon/mousetrap/M = new projectile(chassis.loc) - M.armed = 1 + var/obj/item/device/assembly/mousetrap/M = new projectile(chassis.loc) + M.secured = 1 playsound(chassis, fire_sound, 60, 1) M.throw_at(target, missile_range, missile_speed) projectiles-- diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index ce3d7fe028..f21f65cb8f 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -341,6 +341,10 @@ /obj/item/proc/on_enter_storage(obj/item/weapon/storage/S as obj) return +// called when "found" in pockets and storage items. Returns 1 if the search should end. +/obj/item/proc/on_found(mob/finder as mob) + return + // called after an item is placed in an equipment slot // user is mob that equipped it // slot uses the slot_X defines found in setup.dm diff --git a/code/game/objects/items/weapons/mousetraps.dm b/code/game/objects/items/weapons/mousetraps.dm deleted file mode 100644 index 4906f886a2..0000000000 --- a/code/game/objects/items/weapons/mousetraps.dm +++ /dev/null @@ -1,94 +0,0 @@ -/obj/item/weapon/mousetrap/examine() - set src in oview(12) - ..() - if(armed) - usr << "\red It looks like it's armed." - -/obj/item/weapon/mousetrap/proc/triggered(mob/target as mob, var/type = "feet") - if(!armed) - return - var/datum/organ/external/affecting = null - if(ishuman(target)) - var/mob/living/carbon/human/H = target - switch(type) - if("feet") - if(!H.shoes) - affecting = H.get_organ(pick("l_leg", "r_leg")) - H.Weaken(3) - if("l_hand", "r_hand") - if(!H.gloves) - affecting = H.get_organ(type) - H.Stun(3) - if(affecting) - if(affecting.take_damage(1, 0)) - H.UpdateDamageIcon() - H.updatehealth() - else if(ismouse(target)) - var/mob/living/simple_animal/mouse/M = target - src.visible_message("\red SPLAT!") - M.splat() - playsound(target.loc, 'sound/effects/snap.ogg', 50, 1) - icon_state = "mousetrap" - armed = 0 -/* - else if (ismouse(target)) - target.adjustBruteLoss(100) -*/ - -/obj/item/weapon/mousetrap/attack_self(mob/living/user as mob) - if(!armed) - icon_state = "mousetraparmed" - user << "\blue You arm the mousetrap." - else - icon_state = "mousetrap" - if(( (user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50))) - var/which_hand = "l_hand" - if(!user.hand) - which_hand = "r_hand" - src.triggered(user, which_hand) - user << "\red You accidentally trigger the mousetrap!" - for(var/mob/O in viewers(user, null)) - if(O == user) - continue - O.show_message("\red [user] accidentally sets off the mousetrap, breaking their fingers.", 1) - return - user << "\blue You disarm the mousetrap." - armed = !armed - playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) - -/obj/item/weapon/mousetrap/attack_hand(mob/living/user as mob) - if(armed) - if(( (user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50)) - var/which_hand = "l_hand" - if(!user.hand) - which_hand = "r_hand" - src.triggered(user, which_hand) - user << "\red You accidentally trigger the mousetrap!" - for(var/mob/O in viewers(user, null)) - if(O == user) - continue - O.show_message("\red [user] accidentally sets off the mousetrap, breaking their fingers.", 1) - return - ..() - -/obj/item/weapon/mousetrap/HasEntered(AM as mob|obj) - if(armed) - if(ishuman(AM)) - var/mob/living/carbon/H = AM - if(H.m_intent == "run") - src.triggered(H) - H << "\red You accidentally step on the mousetrap!" - for(var/mob/O in viewers(H, null)) - if(O == H) - continue - O.show_message("\red [H] accidentally steps on the mousetrap.", 1) - if(ismouse(AM)) - triggered(AM) - ..() - -/obj/item/weapon/mousetrap/hitby(A as mob|obj) - if(!armed) - return ..() - for(var/mob/O in viewers(src, null)) - O.show_message("\red The mousetrap is triggered by [A].", 1) - src.triggered(null) diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 59edfd3ebb..b0f68b3fcf 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -31,18 +31,12 @@ return L /obj/item/weapon/storage/proc/show_to(mob/user as mob) + if(user.s_active != src) + for(var/obj/item/I in src) + if(I.on_found(user)) + return if(user.s_active) user.s_active.hide_from(user) - for(var/obj/item/weapon/mousetrap/MT in src) - if(MT.armed) - for(var/mob/O in viewers(user, null)) - if(O == user) - user.show_message(text("\red You reach into the [src.name], but there was a live mousetrap in there!"), 1) - else - user.show_message(text("\red [user] reaches into the [src.name] and sets off a hidden mousetrap!"), 1) - user.drop_from_inventory(MT) - MT.triggered(user, user.hand ? "l_hand" : "r_hand") - return user.client.screen -= src.boxes user.client.screen -= src.closer user.client.screen -= src.contents @@ -499,12 +493,12 @@ return /obj/item/weapon/storage/mousetraps/New() - new /obj/item/weapon/mousetrap( src ) - new /obj/item/weapon/mousetrap( src ) - new /obj/item/weapon/mousetrap( src ) - new /obj/item/weapon/mousetrap( src ) - new /obj/item/weapon/mousetrap( src ) - new /obj/item/weapon/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) + new /obj/item/device/assembly/mousetrap( src ) ..() return diff --git a/code/modules/assembly/holder.dm b/code/modules/assembly/holder.dm index 030e9402d5..4605a4aa31 100644 --- a/code/modules/assembly/holder.dm +++ b/code/modules/assembly/holder.dm @@ -62,11 +62,11 @@ update_icon() overlays = null if(a_left) - overlays += "[initial(a_left.icon_state)]_left" //the initial() is probably unnecessary, but you just know - for(var/O in a_left.attached_overlays) //someone is gonna fuck around with the icon_state in the future + overlays += "[a_left.icon_state]_left" + for(var/O in a_left.attached_overlays) overlays += "[O]_l" if(a_right) - src.overlays += "[initial(a_right.icon_state)]_right" + src.overlays += "[a_right.icon_state]_right" for(var/O in a_right.attached_overlays) overlays += "[O]_r" if(master) @@ -98,7 +98,26 @@ a_right.HasProximity(AM) if(special_assembly) special_assembly.HasProximity(AM) - return + + + HasEntered(atom/movable/AM as mob|obj) + if(a_left) + a_left.HasEntered(AM) + if(a_right) + a_right.HasEntered(AM) + if(special_assembly) + special_assembly.HasEntered(AM) + + + on_found(mob/finder as mob) + if(a_left) + a_left.on_found(finder) + if(a_right) + a_right.on_found(finder) + if(special_assembly) + if(istype(special_assembly, /obj/item)) + var/obj/item/S = special_assembly + S.on_found(finder) Move() diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 2259e24472..eaf47f9626 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -7,9 +7,6 @@ w_amt = 10 origin_tech = "magnets=1" - secured = 1 - - activate() if(!..()) return 0//Cooldown check var/turf/location = get_turf(loc) diff --git a/code/modules/assembly/mousetrap.dm b/code/modules/assembly/mousetrap.dm new file mode 100644 index 0000000000..4d2c8fa53b --- /dev/null +++ b/code/modules/assembly/mousetrap.dm @@ -0,0 +1,115 @@ +/obj/item/device/assembly/mousetrap + name = "mousetrap" + desc = "A handy little spring-loaded trap for catching pesty rodents." + icon_state = "mousetrap" + m_amt = 100 + w_amt = 10 + origin_tech = "combat=1" + var/armed = 0 + + + examine() + ..() + if(armed) + usr << "It looks like it's armed." + + update_icon() + if(armed) + icon_state = "mousetraparmed" + else + icon_state = "mousetrap" + if(holder) + holder.update_icon() + + proc/triggered(mob/target as mob, var/type = "feet") + if(!armed) + return + var/datum/organ/external/affecting = null + if(ishuman(target)) + var/mob/living/carbon/human/H = target + switch(type) + if("feet") + if(!H.shoes) + affecting = H.get_organ(pick("l_leg", "r_leg")) + H.Weaken(3) + if("l_hand", "r_hand") + if(!H.gloves) + affecting = H.get_organ(type) + H.Stun(3) + if(affecting) + if(affecting.take_damage(1, 0)) + H.UpdateDamageIcon() + H.updatehealth() + else if(ismouse(target)) + var/mob/living/simple_animal/mouse/M = target + visible_message("\red SPLAT!") + M.splat() + playsound(target.loc, 'sound/effects/snap.ogg', 50, 1) + armed = 0 + update_icon() + pulse(0) + + + attack_self(mob/living/user as mob) + if(!armed) + user << "You arm [src]." + else + if(((user.getBrainLoss() >= 60 || (CLUMSY in user.mutations)) && prob(50))) + var/which_hand = "l_hand" + if(!user.hand) + which_hand = "r_hand" + triggered(user, which_hand) + user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ + "You accidentally trigger [src]!") + return + user << "You disarm [src]." + armed = !armed + update_icon() + playsound(user.loc, 'sound/weapons/handcuffs.ogg', 30, 1, -3) + + + attack_hand(mob/living/user as mob) + if(armed) + if(((user.getBrainLoss() >= 60 || CLUMSY in user.mutations)) && prob(50)) + var/which_hand = "l_hand" + if(!user.hand) + which_hand = "r_hand" + triggered(user, which_hand) + user.visible_message("[user] accidentally sets off [src], breaking their fingers.", \ + "You accidentally trigger [src]!") + return + ..() + + + HasEntered(AM as mob|obj) + if(armed) + if(ishuman(AM)) + var/mob/living/carbon/H = AM + if(H.m_intent == "run") + triggered(H) + H.visible_message("[H] accidentally steps on [src].", \ + "You accidentally step on [src]") + if(ismouse(AM)) + triggered(AM) + ..() + + + on_found(mob/finder as mob) + if(armed) + finder.visible_message("[finder] accidentally sets off [src], breaking their fingers.", \ + "You accidentally trigger [src]!") + triggered(finder, finder.hand ? "l_hand" : "r_hand") + return 1 //end the search! + return 0 + + + hitby(A as mob|obj) + if(!armed) + return ..() + visible_message("[src] is triggered by [A].") + triggered(null) + + +/obj/item/device/assembly/mousetrap/armed + icon_state = "mousetraparmed" + armed = 1 \ No newline at end of file diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index aea090fb68..e2329ce232 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -84,6 +84,10 @@ var/const/MAX_ACTIVE_TIME = 400 HasProximity(target) return +/obj/item/clothing/mask/facehugger/on_found(mob/finder as mob) + Attach(finder) + return 1 + /obj/item/clothing/mask/facehugger/dropped() ..() GoActive() diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 2f5bac9e1b..0d43d90ba5 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -362,6 +362,9 @@ if("legcuff") message = "\red [source] is trying to unlegcuff [target]!" if("uniform") + for(var/obj/item/I in list(target.l_store, target.r_store)) + if(I.on_found(source)) + return if(target.w_uniform && !target.w_uniform.canremove) message = "\red [source] fails to take off \a [target.w_uniform] from [target]'s body!" else @@ -369,19 +372,8 @@ if("s_store") message = "\red [source] is trying to take off \a [target.s_store] from [target]'s suit!" if("pockets") - for(var/obj/item/weapon/mousetrap/MT in list(target.l_store, target.r_store)) - if(MT.armed) - for(var/mob/O in viewers(target, null)) - if(O == source) - O.show_message("\red You reach into the [target]'s pockets, but there was a live mousetrap in there!", 1) - else - O.show_message("\red [source] reaches into [target]'s pockets and sets off a hidden mousetrap!", 1) - target.u_equip(MT) - if (target.client) - target.client.screen -= MT - MT.loc = source.loc - MT.triggered(source, source.hand ? "l_hand" : "r_hand") - MT.layer = OBJ_LAYER + for(var/obj/item/I in list(target.l_store, target.r_store)) + if(I.on_found(source)) return message = "\red [source] is trying to empty [target]'s pockets." if("CPR") diff --git a/html/changelog.html b/html/changelog.html index 9bbfcfd1bb..d7e2a6187c 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -48,6 +48,15 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> +
+

27 October 2012

+

Petethegoat updated:

+ +
+

27 October 2012

Petethegoat updated:

@@ -56,7 +65,10 @@ should be listed in the changelog upon commit tho. Thanks. -->
  • Added a camera and hand labeler to art storage.
  • Added a medical records cabinet to the Detective's office.
  • Added a safe to the vault. Who'll be the first to crack it?
  • -
  • The CE has a new pet...
  • + +

    Nodrak updated:

    +
    diff --git a/icons/obj/assemblies/new_assemblies.dmi b/icons/obj/assemblies/new_assemblies.dmi index e9fdcf8a1f44c7b1881cf542874c4cb9212878e7..8b0ea26ed23bc4abfa7127ac3c928d629200a8e9 100644 GIT binary patch delta 3230 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 M)0W0B4Dnb03p&a4N&o-= delta 2142 zcmY*Z2{aV!8XjZD$j;cZXJWGNq%a5(22n${5s|f~WEnImlBF1Hwk#PUYY{?*qKRgR z7+Xe!7#hMaggf2)|M%Sco%4S0d(Qj3%kzBaeCc8gez`<@#MU5}c*`yiw#hi@wN@sa*9kI$3vO___%G`JlyuF)CE!N!pBj ztL+zGBbbSzPx?fFxAMzw6$qqf#z2N8XQE|469gw~I@AO%mu^G_J>oJp9kOYIwAimW zNTg;X&MRrDc~vxMqujpVKEQd;yT|4@C1$KH)e~e>&PZ3PvOOIxwK2YAHm1gd+7|D1 zxvnG2m6_@HUQwlQm#SsxUDrsO>M9KA^46nY{l%*KIwW3-r&wh`e)n`wh;;BV-A{;5 zO>QAm5gG(OEys+OY1~?;p~Mi`NcnIc9u`-5%WE7k$Q1pem6?fC1g>DUAQClcA=uMk zJ0vjF*r;vmcvRfdS==;V7_KoYlh&h{z1dP?ZQ0B?JbFsZnlhXF$$99dPvPEN8Y04O zV|weV1&nr6QwPjc{?3t-^ELBdfC^bluFZYb^_nqzVUr~XqOYznwy>oIOV$dB4)y82bK$oHqcAaglVvKMNoaC&9 zyG^CiF+BqQ2K#gCPrss2{@|)Nam}NnR6Sk2Q7V-He0q?FnLArFJjnGEaYVQhtoSBw z5vZrz$t&0gzA-Ou&?2mNa0ziO#<_UQCoqt{1Xc2oNwo8+!Ng3)nr0Cn+Dd8jo%lJ# zUWVBP#!e!Fo`Zj?r}lELEaI#{d9+e9Et1^tXKm)gl$kc$`(e-vL7H1#s){i@<iNjTw=Rj<%mt-!nuyB;ZQ%E%TinixEFe#}=3dG_Dir{L2;J-$ofn%DaS4f&X z=Q5Yl@xrcN&AOe<%3Pw8*{y8xGyLabFS9kj>V?^V#*@*>oI(7Q8E5c0zxt7YEG%0k zwRlNBBk9?rAhyP6=B9$!Tgj;&_4tc zaS`}%*3a!9+gP|)E5A@w5A`H>6dHpsPI^b_xblZPM|HlW`66FyLY7o>_^FZ7?<;lk z$QCtUNkS)6G@9v}1CH;4x6?H8HAc41J_%oGvO@|{;qclGK1TK1Xjq&*py@AyJ$K*+{UV(SLlU|VtieA75%=UW z(i=CP-D7=%kvo;v8;nSj?(eQXRt3U@=|a_1(7JVJYemp(4hTO+Ir9jjb=*@{IZ4{GD6Xk|oy#{eIWJUd zmivcK7^)j&NM*dh1K zTW=$p@atkJbc1gsAzsbV)jnxl&MVg%wslHwDE9|c8Lf)U3DS59>GBjLwcAy2C zWOYNiiWpZC!|+)Cc0oka@7kOr1e`16KkuGqzZ;$?+sTbg-@xURQDyaUf~r^W1qgwh z7nT(1L~9p`#Z(eOIcekU!g=8jJ1~sG``OW~hG3nSp-y=X2(yV2tEJ_d=>o>q>$m8q}kc8F_ zdD~()uUyc%&hbHQDpZs!sK7FAl2v^hmlxIoGF?q@nY?=fPQLliz#yuGVUuh_02&Is$+mYFcN{73B=wv2^^)qMIG zM{lC`_YNcS?pJqO`)UV9=dsDKnQWs+k?;QI!EV0ZZEy8^<$pt#_F?M(n-&sf*S0M) zUHo@LL@aZacLswsMTz>!%cQ9Nw2ZyolJY@19GcXAo5_}M4PoQf##jAu<=Y?fR^~{v JT2u7he*uBV=$Zfk diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 96ae4aa2897d88ce57d4c49005fa1765bb17d124..e643075182a19f3eb42420019f830015fdfa0127 100644 GIT binary patch literal 18746 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 O0000