Commit Graph

103 Commits

Author SHA1 Message Date
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
Firecage
332bde0f4f Does the rest of the if()'s/ else's 2016-01-17 19:03:12 +02:00
duncathan salt
6fcb78044d Merge pull request #14450 from AnturK/mechboots
Fixes mechs using occupant spacemove
2016-01-08 07:14:46 -06:00
AnturK
8b1b75258b Offloads finding backup to atom/movable proc 2016-01-06 20:47:50 +01:00
duncathan salt
5edf9f87e1 Merge pull request #14329 from KazeEspada/Mobfix1pointO
Fixes a runtime involving mobs that get deleted upon death.
2016-01-04 20:28:52 +01:00
KazeEspada
aec7bd9301 Fixes a runtime involving mobs that get deleted upon death. 2016-01-02 23:04:19 -07:00
MrStonedOne
b50e8d2a63 removes a bunch of unneeded spawns
spawns have a high overhead.

I only went for easy targets, almost every spawn could be removed with a few subsystems in place to handle delays or cooldowns
2016-01-02 18:23:02 -08:00
Kyle Spier-Swenson
842025a9ac Update mob_movement.dm 2015-12-23 04:39:43 -08:00
Kyle Spier-Swenson
b220679de3 no grav movement now uses can_pass rather then density 2015-12-23 02:12:50 -08:00
Razharas
122796dfb7 Merge pull request #12726 from MrPerson/delay_of_game_5_yard_penalty_repeat_first_down
Refactor mob movement delay calculation
2015-11-01 02:04:44 +03:00
MrPerson
d575219887 Refactor mob movement delay calculation
Basic premise: Get all mob movement delays calculated in movement_delay() instead of having half of them in Client/Move(). Except for the slowdown from grabbing, which is so shit I can't even. The idea here is to eventually have the AI movements be at the same speed as client-initiated ones.

Let's try this again: Removes TickComp because it's a useless pile of shit that's based on a false idea of how BYOND's ticks and tile-based movement work.
2015-10-29 05:15:41 -07:00
MrPerson
2f9c5b38f0 Removes the unused lastarea mob var
I think it was used for ambience music a long time ago.
2015-10-28 04:25:18 -07:00
xxalpha
e82a216447 Changed various instances of range() and orange() to ultra_range(). 2015-10-19 20:04:14 +01:00
AnturK
83354fa364 Fixes 2015-09-24 18:26:12 +02:00
AnturK
a99ed56f27 Atom Buckling - Squashed 2015-09-24 16:21:05 +02:00
unknown
68b824e727 increased confusion multiplier, increased confusion sources 2015-09-13 12:39:41 -06:00
unknown
16ac3baa88 made confusion directional and probabilistic 2015-09-12 13:15:45 -06:00
hornygranny
2367ae48c9 Revert "Smooth out gliding so movement isn't (as) jerky" 2015-08-29 13:37:55 -07:00
MrPerson
51a17eeeac Per MSO's advice, Ceiling glide_size until BYOND supports floats 2015-08-18 21:54:53 -07:00
MrPerson
b130f4958d Simplify the math a bit on gliding
Rounding now happens after calculations instead of before. The delay is also unrounded.
2015-08-15 22:28:42 -07:00
MrPerson
831c069404 Smooth out gliding so movement isn't (as) jerky
Only applies to non-ghost, non-camera mob movement. Scales automatically to any fps and any move delay.

Also took this oppurtunity to remove tickcomp because it was USELESS and shit.

All the rounding is because of floating point imprecision. round(2.7, 0.9) != 2.7, for example. 2.7 + world.time would wind up being < than world.time 3 ticks later even though they should be equal.
2015-08-11 22:19:07 -07: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
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +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
NullQuery
b4248b01e4 - Crew monitoring computer using the html_interface module
- Patch: Don't update html_interface clients that have been inactive for more than 10 minutes.
- Patch: Attempt to speed up _renderContent some more (in case of multiple clients) by using spawn.
- Patch: Second argument for hiIsValidClient hook: reference to the current html_interface object (used by crew monitoring computer).
- Feature: procqueue singleton. You can use this to put proc executions on a queue. Used by the crew monitoring computer to queue the update "for the next tick" when humans move.
2015-06-27 10:26:46 +02:00
NullQuery
15cdf9bfca Merge from upstream. 2015-06-25 20:30:19 +02:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
phil235
09df1080e9 Some adjustments:
Fixes with projectile bump() on border objects.
Fixes some projectile on_hit() not calling the parent on_hit.
Move projectile mob hit check code to mob/CanPass().
Simplifies projectile/CanPass()
Fixes runtime in projectile/Bump()
2015-04-02 17:39:02 +02:00
MrPerson
9038fb15af Code cleanup
Removed a bunch of unused or hardly used vars on /mob and /atom/movable.
Added defines for mob/living/var/mob_size so it's not using magic numbers.
2015-03-13 10:41:00 -07:00
phil235
712f599ccf Fixes restrained message spam by giving it a cooldown. 2015-02-24 14:32:31 +01:00
phil235
e9a943218c Fixes being able to break free from a pull while handcuffed if the puller is buckled.
Add the incapacitated proc to mobs to check for stat, stun, weakened, paralysis, restrained. And replacing those checks by that new proc in some places.
2015-02-21 14:49:47 +01:00
Menshin
0d0ef9e02a Deactivates the Hidden Syndicate Teleportation Device 2015-02-19 16:34:49 +01:00
Remie Richards
96ac837b65 Merge pull request #6960 from Iamgoofball/goonetics
Added 2 new powers and 9 new disabilities from goon and /vg/!
2015-01-19 17:47:33 +00:00
Iamgoofball
b70fde1ed2 Fixes and Tweaks, adds mutations_say_mods() and say_mod() for mutations 2015-01-10 23:42:31 -08:00
Iamgoofball
39ede45b31 Added 2 new powers and 9 new disabilities! 2015-01-10 21:51:24 -08:00
JJRcop
539dac7308 Adds the Chronosuit
Sprites by spheretech
The chronosuit allows you to move via teleportation
Adds mob.remote_control var
2015-01-09 16:14:49 -05:00
tkdrg
188b85ae48 Merge pull request #5641 from MrPerson/autoghosting
Moving while dead causes you to ghost
2014-12-26 21:35:58 -03:00
MrPerson
c159878ace Throwing bugfixes
Removed an unused client verb, changed a usr to src where they're the same mob, and changed a type == check to istype().

Allow turning on throw mode when clicking the UI button (hotkeys already allow you to do this).
Disallow throwing when not on a turf.
Fixes #4823

Make storage items close out the onscreen stuff when they get thrown.
Fixes #5296
2014-11-09 00:29:20 -08:00
MrPerson
f67b5d68c8 Moving while dead causes you to ghost 2014-11-03 05:48:24 -08:00
MrPerson
e9f6e5d17d Added a changelog entry
Also fixed the chair-diagonal drifting bug somehow
2014-10-28 07:37:31 -07:00
MrPerson
785b6ada07 Fixes and a change 2014-10-26 14:25:07 -07:00
MrPerson
ef6204656f Space movement rewrite to allow everything to drift
Removes a version of atom/movable/Move() that was in mob_movement.dm.
New proc called newtonian_move() that's called as a result of things like shooting a gun or spraying a fire extinguisher and as part of atom/movable/Move().
It pushes src if it's not under gravity and gives the object a chance to stop itself.
As a result, inertial_drift() is kill.
Moved Process_Spacemove() out to atom/movable. It does the same thing, it's called whenever a drift is attempted and stops the drift if it returns 1. Default check is to look for nearby lattices to make dragging shit around the station less annoying. Mobs still call it in Client/Move()
The mob version of Process_Spacemove() will shove non-anchored nearby objects out of the way if you try to move like that. For example if you're free-floating in space next to a closet and try to move right, the closet will drift off to the left.
Mechs call their occupant's version of Process_Spacemove() so mining with a mech isn't retarded. The pussy wagon does the same thing and thus no longer works like a jetpack. Will it be making a comeback?!?! (no)
Any move will attempt to keep dragging your pulled object, not just ones initiated by the client. Should make space wind a little less annoying. Was needed to make drifting not break your drags.
Mechs drift correctly without any special snowflake crap.
Spaceslipping is gone because fuck that shit
Space movement is now slow instead of fast. Having a jetpack helps go faster but even that's slower than current. Hopefully means nuke ops can see each other as they move to the station instead of losing sight of each other instantly. Having your hands full makes spacemovement even slower.
You can drift in office chairs and drag mobs in beds or the bed itself. Currently drifting diagonally while in an office chair is bugged and I need help to solve it. It winds up in cardinal movement instead of a diagonal one.
Changes up the jetpacking effects system to cause fewer errant ion trails but it's still awful code. In hindsight I shouldn't have bothered but here we go.
2014-10-25 23:19:46 -07:00
phil235
dbea503e88 Removing the fourth argument (air_group) of CanPass() everywhere, because it isn't used anywhere.
Fixing one instance of "for(mob in viewers) show_message()" to "visible_message()"
2014-10-15 18:03:06 +02:00
Hornygranny
f920d6854f PASSMOB created
larvae have PASSMOB
larvae can no longer pull
2014-09-18 12:24:11 -07:00
Remie Richards
473bcd1858 Ports Drones from NTstation + New Improvements/Features 2014-09-13 15:02:57 +01:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Giacomand
f4b0a48253 Merge branch 'master' of https://github.com/tgstation/-tg-station into gravity_bounce
Conflicts:
	code/modules/mob/living/living.dm
	code/modules/mob/mob_movement.dm
	code/modules/power/gravitygenerator.dm
2014-06-09 20:26:17 +01:00
Giacomand
29232bbbdc Mobs will now slowly bop up and down while in zero gravity. 2014-05-09 00:00:44 +01:00
Hornygranny
237cabd1c5 removed old code 2014-05-01 17:55:12 -07:00
Hornygranny
4fd7a6312d Moved check for magboots to human_movement 2014-05-01 17:48:56 -07:00