Commit Graph

142 Commits

Author SHA1 Message Date
tkdrg
2389fd0b01 Merge pull request #15899 from phil235/ResistandGrabFixes
Fixes being able to resist while dead.
2016-03-04 22:14:35 -03:00
phil235
c7b7230827 Change some for loop with grabbed_by to be typeless since grabbed_by only contains grabs.
Replace super weird "locate(/obj/item/weapon/grab, locate(/obj/item/weapon/grab, mob.grabbed_by.len))" by simple if(grabbed_by.len)"
Cleans up Process_Grab to be easier to read.
Simplifies MobBump() proc, especially the part about pushing a mob that is pulling or is pullsed/grabbed. We no longer check for mobs in a 1 tile radius every time we bump a mob.
Fixes runtime with clear_reagents_to_vomit_pool() due to a typo.
2016-03-03 14:20:42 +01:00
phil235
9d702bd72e Fixes throwing bola and embeddable items in no gravity, the thrown objects no longer bounces back if it's been inserted inside what it hit. 2016-03-02 23:39:56 +01:00
Akke
9c0bacbd72 Yea, though I walk through the valley of the shadow of death, I will fear no evil: for thou art with me oranges; thy remie and thy coderbus they comfort me. 2016-03-01 01:06:59 +00:00
Akke
867f3b0d89 massive thanks to oranges for his help on this. 2016-03-01 00:37:23 +00:00
Akke
505e070552 Still WIP due to oranges demand for it to be a proc. I don't actually know how to. 2016-02-24 22:56:44 +00:00
Akke
72854bd973 Flies can no longer eat.
Flies must eat vomit.
Eating causes vomiting.
Janitors and Janitorborgs rollout.
2016-02-23 00:03:15 +00:00
phil235
aed7794f50 Made changes to adjust with neersighted's fullscreen overlays pr.
Fixed Xray users getting vision impairment overlays when inside a container.
Fixes mob inside mecha getting the mech sight flags despite not being the pilot.
"get_vision_impairments" is renamed to "get_remote_view_fullscreens".
Fixes AI blindness.
2016-02-06 20:35:15 +01:00
phil235
8b11d87b1d Merge branch 'master' of https://github.com/tgstation/-tg-station into VisionUpdateRefactor
Conflicts:
	code/ATMOSPHERICS/components/unary_devices/cryo.dm
	code/_onclick/hud/alert.dm
	code/_onclick/hud/hud.dm
	code/datums/mutations.dm
	code/datums/wires/robot.dm
	code/game/atoms.dm
	code/game/gamemodes/blob/overmind.dm
	code/game/machinery/alarm.dm
	code/game/machinery/machinery.dm
	code/game/machinery/suit_storage_unit.dm
	code/game/objects/items/weapons/tanks/tanks.dm
	code/game/objects/items/weapons/tools.dm
	code/game/objects/structures/morgue.dm
	code/modules/admin/verbs/adminjump.dm
	code/modules/atmospherics/machinery/atmosmachinery.dm
	code/modules/mob/inventory.dm
	code/modules/mob/living/carbon/alien/humanoid/death.dm
	code/modules/mob/living/carbon/alien/larva/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_damage.dm
	code/modules/mob/living/carbon/human/life.dm
	code/modules/mob/living/carbon/human/species.dm
	code/modules/mob/living/carbon/human/species_types.dm
	code/modules/mob/living/carbon/life.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/life.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/ai/ai.dm
	code/modules/mob/living/silicon/ai/death.dm
	code/modules/mob/living/silicon/ai/life.dm
	code/modules/mob/living/silicon/pai/death.dm
	code/modules/mob/living/silicon/pai/pai.dm
	code/modules/mob/living/silicon/robot/death.dm
	code/modules/mob/living/silicon/robot/life.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/silicon/silicon.dm
	code/modules/mob/living/simple_animal/guardian/guardian.dm
	code/modules/mob/login.dm
	code/modules/mob/mob.dm
	code/modules/projectiles/gun.dm
	code/modules/reagents/chemistry/reagents/blob_reagents.dm
	tgstation.dme
2016-02-04 14:34:45 +01:00
phil235
81ce777ec2 - you now only see turfs when inside gas pipes.
- I renamed some vars of datum/hud to be more selfexplanatory
- Moved all datum/hud mob code into the hud folder.
- fixed alien's zone selection button not using the correct sprites.
- I removed the update_hud() proc (that needed to be removed).
- Fixed a typo in /mob/living/carbon/ContractDisease , using "internals" instead of "internal" (very different things)
- Fixed doTeleport() calling Entered() twice on the destination area.
- To reference a mob's selected zone, you now use a direct mob var ("H.zone_selected" instead of "H.zone_sel.selecting")
- mobs lose certain screen objects var ("healths", "zone_sel", "internals", etc) which are now vars of the mob's datum/hud instead.
- the Blind spell is now done via the blind mutation instead of the blind disabilities.
- Give to mobs a version of forceMove(), so the mob is always properly unbuckled, his pull stopped, his vision updated, etc.
- The "user" var of mob/camera/aiEye/remote is renamed to "eye_user" to avoid confusion.
- reset_view() is replaced by reset_perspective(). Now all changes to client.eye and client.perspective are done with this proc.
- I reworked /obj/machinery/computer/security code, changing camera is instantaneous now, as well as cancelling.
- I reworked /obj/machinery/computer/camera_advanced code as well.
- I changed /obj/item/mecha_parts/mecha_equipment/mining_scanner's meson view to be constant instead of by intermittent.
- Fixes not being able to use /obj/item/device/camera_bug while buckled.
- removed admin_forcemove() proc, admin force moving now uses forceMove() simply.
- Removed the client var "adminobs"
- Added var/vision_correction to glasses.
- Added a thermal_overload() proc for glasses, to remove copypasta in emp_act code.
- Remove the hal_crit mob var
- We no longer delete the mob's hud everytime he logs in.
- Added a stat == dead check in mob's metabolize() so we immediately stop metabolizing if one of the chem kills the mob.
- Being inside disposal bin lowers your vision, like wearing a welding helmet.
- removed the remote_view mob var.
- I changed advanced camera EYE, some fixes, removed unnecessary code when the eye moves, now the mob client eye properly follows the camera mob.
- fixes mob var "machine" not being nullified on logout.
- larva/death() was calling two "living_mob_list -= src"
- I made the Blind screen objects into a global_hud instead of giving one to each mob (like damage overlay).
- I untied tint and eye_blind, TINT_BLIND doesn't give you eye_blind=1.
- gave a visual overlay when inside locker (vimpaired)
- when inside disposal/gas pipes you get sight |= (BLIND|SEE_TURFS)
- glasses toggling updates (atmos meson toggle): DONE
- The new adjust procs serve to properly change eye_blind etc and call vision update procs when needed.
- I added an on_unset_machine() proc to handle perspective reset for camera consoles.
- I moved consequences of eye_check fail inside eye_check() procs themselves.
- I fixed vision updates being fucked by forceMove, especially pipe vision.
- I decided that damage overlay not appearing when dead.
- mob's hud_used is no longer deleted on each login()
- I refactored mob huds a bit, creating subtypes for each mob (/datum/hud/human)
- f12's hud toggling is now available to all mobs
- gave borgs a low_power_mode var so unpowered borg do not use stat= UNCONSCIOUS (which made things weird since you were unconscious but not blind)
- Fixed double Area entering when forced teleporting.
- I fixed larva pulling not being broken when cuffing them, and larva not seeing handcuff alert (and they can resist by clicking it)
- I removed pull updates from life() since it onyl checked for puller's incapacitation.
- I renamed camera/deactivate() to toggle_cam() to be more accurate.
- I fixed mmi brain being immortal (by removing the brain and putting it back)
- I simplified mmi brain emp damage.
2016-02-04 00:33:16 +01:00
tkdrg
7891ac2805 Merge pull request #15034 from AnturK/shuttle_templates
Adds map template datum and size preloading
2016-01-31 13:33:30 -03:00
AnturK
1cbb8137d9 Moves initialize from /atom/movable to /atom
Bit cleaner powernet/pipes initialization in templates
2016-01-30 14:34:34 +01:00
tkdrg
41fd154e3f Merge pull request #14996 from KorPhaeron/white_ship
Allows you to use the abandoned white ship as an escape shuttle
2016-01-30 01:25:40 -03:00
KorPhaeron
4edf2a3d08 Typeless Loops 2016-01-28 04:27:10 -06:00
KorPhaeron
cfa3ff2a24 Makes objectives function properly 2016-01-27 23:59:14 -06:00
Firecage
754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
paprka
717b857401 Merge branch 'BeamVines' of https://github.com/RemieRichards/-tg-station into remiepls
Conflicts:
	code/datums/beam.dm
	icons/mob/animal.dmi
	tgstation.dme
2015-12-03 23:20:12 -08:00
Xhuis
e02831d5b1 Reagents can no longer be determined by examining a reagent container without the proper apparatus. Silicons and ghosts can always see reagents.
Science goggles now allow reagents to be seen on examine. In addition, chemists now start wearing them. The bartender has a pair that looks and functions like sunglasses.
2015-11-12 23:01:33 +01:00
Remie Richards
15bf91049e Improves Beam() code, Adds a new spacevine mutation+mob 2015-11-02 11:35:22 +00:00
AnturK
a172ad841b Beam Code Cleanup 2015-10-24 14:03:30 +02:00
xxalpha
e82a216447 Changed various instances of range() and orange() to ultra_range(). 2015-10-19 20:04:14 +01:00
Pieter Vlasblom
385bd9ac14 This might be a bad idea. 2015-10-05 15:02:11 +02:00
phil235
c37780ec69 Adding changelog and fixing a typo. 2015-09-26 18:17:17 +02:00
phil235
1d56ff80dc Fixes runtimes with add_blood() and add_blood_list()
Fixes formatting in the mech control console window.
Fixes runtimes when building an AI (mind transfer from mmi to ai was called before the AI's hud_list was set)
Fixes syndicate cyborg not starting with the correct module.
Fixes syndiborg not being able to use their grenade launcher
Fixes runtime with gun process_fire() (some code was reverted by accident)
Fixes a runtime with hostile simple animal's PickTarget().
2015-09-26 13:21:20 +02:00
phil235
f90ee4aa8c - Fixed monkey starting with no dna.
- Fixed bugs with monkeyize/humanize: 7803 (humanized monkey nobloodtype)
- Fixes 9298 monkeyed ling have troubles humanizing themself (already fixed?)
- Fixes despawning clothes when monkeyizing. 11855
- Replaced check_dna_integrity proc by simpler has_dna proc when required.
- created set_species() proc
- fixed space retrovirus not transfering SE (despite having a domutcheck()). Still need to check if it needs a name = real_name.
- I renamed mecha/var/dna to dna_lock to avoid confusion
- I renamed an armor var in a species proc to armor_block to avoid confusion with species/var/armor.
- I removed many if(dna) checks in lots of files.
- I removed duplicate defense procs between human/proc/X and dna.species/proc/X since dna is now always set.
- Anatomic panacea from changeling removes alien embryo correctly. 6247
- Fixes runtime when trying to put dna-less brain mmi into a dnalocked mech.
- Removed carbon/var/list/features, we now only have dna.features and prefs.features
- Remove hulk mutation from lizards and other species (Fixed 6413); only real humans can acquire hulk. (less work on sprites for each ones, fixes lizard tail not in hulk color)
- Fixes cloning not setting up correctly dna UE and dna.real_name
- I fixed the issue with sucked+cloned ling being unable to absorb
- I fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- I added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.

- Fixes cloning not setting up correctly dna UE and dna.real_name
- Fixed the issue with sucked+cloned ling being unable to absorb
- Fixed issue with changeling proc checking if they have the dna already not working.
- Fixed 4095, low health hulk with DAA getting stuck in loop of acquiring/losing hulk.
- Added a second layer for mutations to differientate mutations that go below and above the body layer (Fixes 7858)
- Fixes 10048, the transform to initial appearence button was fucking up the dna.
2015-09-19 22:18:28 +02:00
phil235
de9e6475f1 Fixes runtime in monkey/attack_hand()
Fixes tableclimbing: no more success message when failing; you can no longer pass through barricade when tableclimbing.

You now have a chance to block things thrown at you with a riot/energy shield, including xeno leap(40% chance).
2015-09-11 02:03:28 +02:00
Swag McYolosteinen
825b5794c7 Merge pull request #11239 from Firecage/del2qdel
del() to qdel()
2015-08-19 11:50:24 +02:00
CorruptComputer
14b3dcbd65 deletes computerfiles.dm and minor edit to atoms.dm 2015-08-16 16:53:33 -05:00
Firecage
dfae1e0b53 Changes a lot of del() to qdel() 2015-08-16 23:33:22 +02:00
phil235
e922f510c5 Fixes not getting the hit message and sound (and logging) when the item embeds itself in a human.
Throwing a big item at an alien no longer pushes it.
If the item embeds itself in you, it doesn't push you.
Fixes an old argument in item/throw_impact() that I forgot to remove.
Rename the skip argument of hitby() to skipcatch (more explicit).
2015-08-09 20:30:47 +02:00
Jordie
9b0b4e1aa4 Merge pull request #10710 from xxalpha/cablecoilbackpack
Fixed storage not updating when joining cable coils.
2015-07-25 19:12:26 +10:00
xxalpha
8e00cdfe9a Fixed storage not updating when joining cable coils.
Fixed stack objects not updating storage when deleted.

Added handle_atom_del proc to be called on destroy.

Label comment for handle_atom_del()
2015-07-22 17:58:05 +01:00
phil235
d2616d52fc Merge branch 'master' of https://github.com/tgstation/-tg-station into CatchThrownPieFix
Conflicts:
	code/game/atoms.dm
	code/game/atoms_movable.dm
2015-07-20 22:41:45 +02:00
phil235
94d072828f Merge branch 'master' of https://github.com/tgstation/-tg-station into CatchThrownPieFix
Conflicts:
	code/game/atoms_movable.dm
	code/game/objects/items/weapons/dice.dm
	code/game/objects/weapons.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/living_defines.dm
	code/modules/reagents/reagent_containers.dm
2015-07-19 21:53:39 +02:00
phil235
9eced1ac5b Fixes thrown closet opening to not use spawn().
Fixes throw_at() to look nicely for xeno leap by adding the diagonals_first argument.
Removes useless gateway/Crossed and gateway/Bumped().
Changes throw_at() to use diagonal directions.
I replaced the atom variable "throwpass" with the LETPASSTHROW pass_flags
I readded hit_check proc to catch things getting on the thrown thing's tile during its sleep(1) (especially needed for mobs running towards the thing), the only other possibility would've been to add throwing checks in atom/movable/Crossed() (called after every move) and I don't think it'd be worth it.
I added the item var "thrownby" to be able to continue to log the thrower of the item when it hits a mob. It removes the need for a thrower argument in throw_impact() and hitby().
2015-07-19 21:29:35 +02:00
phil235
34db8dd695 Merge branch 'master' of https://github.com/tgstation/-tg-station into MechRefactoring
Conflicts:
	code/game/mecha/equipment/mecha_equipment.dm
	code/game/mecha/equipment/tools/medical_tools.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/equipment/weapons/weapons.dm
	code/game/mecha/mecha.dm
2015-07-16 13:50:01 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
359a270de6 Merge branch 'master' of https://github.com/tgstation/-tg-station into MechRefactoring
Conflicts:
	code/game/mecha/equipment/tools/medical_tools.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/mecha.dm
2015-07-14 01:20:37 +02:00
phil235
b570af6795 Fixed catching banana creampie in mid throw (and similar objs). 3824 10536 (hitting a wall now makes the smashed pie effect appear ON the wall)
Moved last_bumped var from movable to living.
Renamed /obj/machinery/field/proc/bump to bump_field() to avoid confusion with Bump(). Same thing with /obj/effect/mine/Bumped() -> triggermine().
Fixes sprite when hunter leaps into a wall. 10428
Removed some commented code here and there.
Remove allow_spin var, throw_at now uses a spin argument for that.
Throwpass atom var is no longer used to check whether thrown stuff can pass stuff (now using CanPass() proc like everything else), the var is still used for some adjacency click check.
A thrown mob hitting another mob now produces a sound; also thrown mob and target one no longer swap places even on help intent.
A thrown mob now is lightly hurt (and weakened) if he hits a wall/mob/dense object. Nerf the damage when thrown mob hit wall.(20 -> 10)
Thrown obj/mob no longer bounces off wall unless it's no grav. Heavy thrown items now push an unanchored obj/mob target.
Fixes losing all momentum when getting out of a thrown closet. 6569
A lot of work on throw_at, throw_impact, and hitby to make the code more OOP. Thrown items no longer collide with border items on the side. 10479
Fixes the killer crusher. 10507
2015-07-14 00:51:19 +02:00
MrStonedOne
a262f9aac7 Attack logging tweaks
Removed the "feature" to have something log in an atom's vv attack log, but not the file attack log. all attack log items will go to the file as well as vv.

Replaced all hard coded src.name/name for attack log's object argument with an actual object (src) except where it made more sense not to.

All attack logging *should* happen AFTER damage is applied now.

Removed the confusing attack entry for when a changeling stings another changeling.

Tweaked how punch attack logs worked
2015-07-08 23:14:37 -07:00
phil235
ea1780ce97 - Mech equipment was using its unique processing method, with specific timing for each equipment, but now it uses obj processing, I
changed the values so the equipment effect stays the same. Remove global_iterator datum.
- fiddled with equip_ready procs of mech tools.
- removed mecha/proc/do_after and /enter_after() procs.
- Renamed mech sleeper occupant var to "patient" to avoid confusion with the occupant of the mech.
- all non instant tool (drill) now show a progbar when drilling etc..
- action cooldown now use do_after_cooldown() (that itself uses do_after) and start_cooldown (for instantaneous actions).
- Removed mecha_equipment's destroy proc, it's now all in Destroy(). No confusion.
- modified mecha_equipment/proc/can_attach() to not check istype(mecha) b/c it can't not be. (so the child only have one istype check.
- Removed diamonddrill/can_attach() , all done at drill level.
- armor booster now only for combat mech, instead of all except honkmech.
- Removed dynhitby, dynbulletdamage, dynattackby, dynusepower(), dyngetcharge(), dynabsorbdamage()
- I split the tools.dm file into smaller ones: work tools, mining tools, other tools.
- I split mecha.dm into mecha.dm, mecha_topic.dm and mecha_defense.dm
- refactored mech weapon ballistic/launcher, new proj_init proc, more OOP.
- Moving consumes energy! Lights consumes energy. Fixes #9425.
- Fixed #7354 xeno not bursting if host is inside a mech.
- Added action buttons to mech. Moved toggle lights, internal tank, eject, view stats from verbs to action buttons, these can now only

be done via these buttons (removed them from the big stats window).
- Removed port connect verbs b/C it's automated now.
- regular hud is no longer hidden when inside a mech (doesn't matter b/c you can't interact with most stuff in it while in a mecha). Fixes issue 10387
- can't walk when shooting projectiles. Makes walking on your projectile a bit harder. Helps against issue 10315 (but doesn't fix it).
- also made into action buttons: the special abilities of certain combat mechs.
- Added thrown alerts for mech charge and integrity.
- Fixes teleporting occupant out not properly removing it from the mech. Fixes issue 10330
- fixes ballistic mech weapons spinning when launched. proc/throw_at() now has a spin argument instead of using var/allow_spin that was added to all atoms just for that.
- added a update_action_buttons() to ai/life() to handle ai mech.
2015-07-07 19:40:32 +02:00
Ikarrus
8f8164d8e8 Removed atom var and instead used paramaters to determine the thrower 2015-07-02 19:57:51 -06:00
LaharlMontogmmery
86d0a50776 Revert dump_act and dump_from_storage 2015-06-18 21:21:41 +02:00
LaharlMontogmmery
38ab424b8b More OOP! Also preparing the bases for another future PR. 2015-06-18 18:59:04 +02:00
LaharlMontogmmery
373c918a4a Going through some hOOPs - bit of a overhaul. 2015-06-18 17:40:35 +02:00
Remie Richards
d72cb4bdf1 Merge branch 'master' of https://github.com/tgstation/-tg-station into ReactionaryExplosions
Conflicts:
	code/game/machinery/doors/poddoor.dm
	code/game/turfs/simulated/floor/plating.dm
	code/game/turfs/unsimulated/walls.dm
	code/modules/admin/admin_verbs.dm
2015-06-11 16:23:45 +01:00
Incoming
69e8fc2eb1 Antags with escape alone can win jointly with other antagonists, it only matters that normies are kept off.
Non-antagonists can be brought on a shuttle without endangering an escape alone victory provided they're kept locked in the brig.

Escaping to syndicate space abord the nuke op shuttle is now a valid way to escape in terms of objectives.
2015-05-29 19:02:52 -04:00
Remie Richards
3b98e4448d Ports /vg/ DeityLink's new explosion effect, Blast doors are more resistant to explosions, Explosions can now take walls and doors into account (Cheaper than recursive explosions), Engine floors are more resistant to explosions. 2015-05-09 01:02:06 +01:00
Iamgoofball
a98eee4fa8 here we gop 2015-04-13 12:01:38 -07:00
Iamgoofball
54154bec12 Merge branch 'master' of https://github.com/tgstation/-tg-station into explosive 2015-04-07 16:21:07 -07:00