Commit Graph

76 Commits

Author SHA1 Message Date
Remie Richards
f6e4c1518d A restructure/removal/cleanup of Ninja Code 2015-03-09 20:43:56 +00:00
dannno
012837a4f5 appease my own 'tism
even numbers are nice
2015-02-11 20:03:54 -05:00
dannno
7d4fb341df no more alternating letters in slurring 2015-02-11 20:01:23 -05:00
dannno
54f1d333d7 Adds a slurring filter, replaces stutter filter where appropriate 2015-02-10 16:39:17 -05:00
phil235
f112f2acbb Fixes two typos in ran_zone() proc. 2015-01-11 15:10:56 +01:00
Razharas
0921aa201f Added datum mutations
Also removed some mob vars like sdisabilities and merged the usability
with disabilities
Removed need for mutations var, they are not handled in dna
Removed blinded var, now its handled by eye_blind being bigger than zero
Ands lots, lots of other shit in files that used mutations
2014-12-12 04:48:11 +03:00
tkdrg
705a264dcf Makes data huds passive. 2014-11-16 01:52:06 -03:00
Miauw
88dad2b5d5 Fixes whisper formatting hopefully maybe. Fixed #5140
Also does a bunch of other stuff.
2014-10-12 14:36:20 +02:00
paprka
d61e4ac943 big commit, handcuff overhaul 2014-10-08 13:19:54 -07:00
phil235
537280b4b9 Removing many instances of the no longer used second argument of message_admins() proc.
Replacing "for(var/mob/M in viewers()) M.show_message()" by "visible_message()" or audible_message()" in many places.
Changing a few span classes.
2014-10-05 01:29:30 +02:00
Remie Richards
473bcd1858 Ports Drones from NTstation + New Improvements/Features 2014-09-13 15:02:57 +01:00
Cheridan
7750a2baae Merge pull request #4525 from GunHog/HUDS_For_All
Silicon Medical and Security HUDs!
2014-09-07 20:01:12 -05:00
ikarrus
c22a44d676 Fixes Round-End report bugs
- Fixes #4664 New Players won't get the "you did not survive" message
- Shift duration minutes will never neve have more than 2 digits (Same thing has been done for the Round Duration timer in Check-Antags Menu)
2014-09-04 21:05:07 -06:00
GunHog
81e178737d Silicon Medical and Security HUDs!
- The AI can now access both Security and Medical HUDs via a new button
on its UI. The Medical HUD is exactly equal to all others. The AI's
Security HUD cannot detect implants.

- Cyborg HUD modules have been removed in favor of an inbuilt command,
to make it less of a hassle to access them.

- HUD code has been given its own file such that it can be used by any
mob. In addition, HUD users are placed into a list instead of searching
for only humans and checking them for a HUD item. This is to make it
easier to expand.

- Security HUD messages can now be received by any mob using a SecHUD.
2014-08-21 22:59:30 -05:00
ikarrus
ef6ca38348 Brig cell timers notify SecHUDs when the timer has expired
Helps Wardens keep track of prisoners and hopefully reduces re-arrests of released prisoners

It's all in a new proc, broadcast_hud_message() which handles securitron arrest declarations as well.
2014-08-14 22:34:33 -06:00
Cheridan
b02b93ce2a Notifications + Random Stuff
Adds sound notifications for Ninja and Wizard Apprentice spawning -- hopefully means fewer afk antags.

Adds a ghostnotice span class, used in the new notify_ghosts proc. Upon creation, things that require ghostly attention (NarSie, golem runes) give more visible messages to the dead.

Retires the 'moderate' span class, which was only used in tomato throwing? Refactors tomato code (this ended up being the meat of this PR, somehow...)

Reorganizes some item definition/procs.
2014-07-01 23:16:02 -05:00
Aranclanos
c65aa2b5a4 Merge pull request #4000 from Cheridan/terribleidea
MONKEY MODE REDUX
2014-06-30 16:27:22 -03:00
CollenN
2aab5fa71c Finalizes Mutantrace Datum Update
https://github.com/tgstation/-tg-station/pull/3609

Squashes the commits from the above pull request. Should hopefully be a
lot less cluttered.
2014-06-19 17:42:14 -04:00
Cheridan
352d5a5627 MONKEY MODE REDUX
AHUAHEUAHUHEGUEHGAUHEGUAEH

monkeys will now possibly transfer all diseases on bite because that's how diseases kinda work
2014-06-14 21:30:25 -05:00
Rockdtben
569d12facf Moved item_heal_robotic out of obj/item and into mob_helpers.dm 2014-06-05 19:25:08 -05:00
Aranclanos
d96c418371 returns a sanitized string on the stars() proc 2014-04-15 20:23:20 -03:00
Aranclanos
6936a1a32c the stars() proc will now use the html_decode()
this fixes the html fuck-ups when a human talks and an alien receives weird text in the middle of the "***".
2014-04-02 09:49:45 -03:00
fleure
c55ddd9d70 Watertank nozzles no longer delete 2014-03-29 12:35:58 +00:00
Incoming
03464e1f4d Slime Mob Refactor
Death of the istype invasion from slimes, previously every single color of slime was its own kind of mob, and every single one of those slimes also had an adult form which was a different mob.

There is now only one kind of slime, reliant on new var is_adult and old var colour to determine how it looks. All baby slimes functioned identically outside of icon and core, and all adult slimes functioned identically to each other and to the babys save for a bit higher Health and more capacity to break shit.

A nice side effect is that this solves any inheritence issues of baby slimes growing up since it's still the same mob, though it doesn't solve the same issues for adult slimes splitting.

Also fixed a few annoying but rare bugs (like getting ghosted because you got DC'd and your slime self split and you weren't around to get mind transfered)
2014-01-13 19:38:37 -05:00
Cheridan
8006b75307 Merge pull request #2182 from Rockdtben/sayRefactor
Refactored how say deals with masks. As well as derp speech.
2014-01-01 14:46:04 -08:00
fleure
61f2cf9292 Fixed stabbing head with thick suit on 2013-12-31 23:39:30 +00:00
Rockdtben
89faaaf999 Moved Speech Modification via masks to masks. say and whisper now call the speechModification(message) proc in wear_mask.
Moved derpspeech modification to mob_helpers.dm
2013-12-29 12:12:41 -06:00
Giacomand
80f2076bcc * Fixed the party alarm from only working in areas with a certain light level.
* Reduced a lot of duplicated code in the party alarm.

* Added a shield range variable for the anti-breach shield generators.
* Changed the shield range to 4, making them more useful.
* Fixed a bug with the deployed_shields list not being cleared after the shields are down.

* Fixed a runtime with shake_camera()
2013-12-19 22:07:52 +00:00
Giacomand
92480d60b4 Fixes the screen shaking from having your camera get stuck on a turf. 2013-12-11 04:17:46 +00:00
Razharas
b7b45881b2 Made abstract a flag and other stuff
Everything that had abstract var now has ABSTRACT flag
Everything that checked abstract var now checks ABSTRACT flag
Fixed some runtimes
Fixed click code and face direction changing while cuffed
Added del to all attack_* of the proboscis in case shit goes real
AStar is still weird so added  a simple sanity check
2013-11-18 03:53:50 +04:00
Robson Richards
1c70008d0c Changes Limbs into Obj's
Reworked all the paths for it
Reworked all the procs for it
2013-10-11 19:11:55 +01:00
supersayu
475042a212 Click code rework
Fixes #646, #579, #863

Completely redoes the click code.  Moves all click related code into code/_onclick for reference.  Also moves hud datum code and all the screen object code I could find into code/_onclick/hud, as it is related.  Item attack(), attackby(), afterattack(), and attack_self() have been moved into item_attack.dm for consistency.

Completely removes dummy objects and adds atom.Adjacent(user).  This proc checks for border items and anything marked with throwpass for determining whether or not you can reach a given square.  A turf helper, ClickCross(), was added to facilitate this.

Removes the monolithic Atom.Click() proc in favor of an overridable click handler attached to mobs.  Click code no longer uses the : path operator as a consequence, and mob/lastDblClick has been moved to Client/next_click.  A few end arounds were necessary (screen objects, buildmode, and spells), but this has been handled by repurposing Atom.Click(); if you have special click code, insert it in the object's Click() function and return 1 to prevent normal processing.

This update adds support for attack_ghost(); the previous "new" click handler had support for it but was never finished.  I have taken the liberty of letting ghosts click portals, the gateway, and the teleporter to jump to the intended target square, and kept the previous default action of examine()ing every damn thing you click.  It is to be suggested that you could do more with this proc when ghost interactions are enabled.

This update also adds support for double clicking.  It is currently only used for ghosts and AIs, because the original (first) click still registers normally.  For both of these, double clicking a square will jump you to it, and double clicking a mob will follow it.  In the case of ghosts, double clicking bots and the singularity will also set you following it; if you double click your own corpse, you will re-enter it; this also works if your body is in a closet, sleeper, DNA scanner, etc.  Default mobs ignore double clicks as normal.

-- NOTE --

There are two flags which were previously unused or misused by click code: USEDELAY and NODELAY.  Ostensibly, USEDELAY would double the normal 1sec delay, and NODELAY would remove it.

Using either of these flags as intended would significantly affect the timing of the game.  In particular, USEDELAY is currently applied to guns and about everything else that acts at range.  I am adding USEDELAY as a half-second increase for now, but I have not put a significant amount of thought into it.  I considered lowering the normal 1sec delay to .8sec to balance it, but the consequences of that on combat involve more calculations than I care to make.

NODELAY seems to never have been used, and I did not implement it, but I could do so trivially.
2013-09-17 18:15:54 -04:00
Cael_Aislinn
286ff34588 moved human helpers out of human.dm to new file human_helpers.dm, added two new mon helpers to check for mutations and mutantraces
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-09-01 13:37:07 +10:00
Matevž Baloh
6435de1c03 Merge pull request #948 from Giacomand/proj_fix
Changed the projectile code: "accuracy == distance between the target and the shooting location" Fixes #922
2013-07-24 14:15:35 -07:00
Giacomand
7601500650 * Cleaned up the ran_zone proc. 2013-07-24 22:11:49 +01:00
Cheridan
c68e73e164 Adds a UI indicator for blob overminds.
This unfortunately necessitated the addition of a mob/camera/blob/Life(), but I think that the added ease-of-use is worth it.
2013-07-12 17:56:54 -05:00
Giacomand
e7718541d6 Changed the projectile code to have a lower probability to hit your target area the further away you are, instead of the further the original target was. This is more logical and makes sense. I also changed how it decides which zone to hit instead, if the random check fails.
Fixes #922
2013-07-10 09:35:07 +01:00
carnie
f15d583a68 Resolves #830 - ghost_form is only selectable by members.
ghost_form is now saved with other preferences.
Public visibility of memberships is toggable and saved with other preferences.
ooc-colors for admins and members are now sanitized. Bright colours like Yellow, white and baby-blue will be darkened for the sake of legibility.
Related to above - added helper procs to convert between RGB and HSL colour models.
Admins cannot modify var/unlock_content without +DEBUG rights. unlock_content moved from client into prefs.

Player savefile version number updated - this will trigger savefile updates, no data should be lost.
2013-06-24 05:35:39 +01:00
Ikarrus
26becb3937 Traitor Panel Improvements
-Added logging for admins editing objectives
-Added logging for admins adding new antagonists
-Changed the antag role assignment buttons to something more appropriate for the game modes. Will now tell you if someone is loyal (implanted).
-Added a isloyal() proc to check if a mob is loyalty implanted.
-Made the headrev message more noticeable
2013-06-17 22:39:32 -06:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00
carnie
2819651811 Very minor optimization to MrPerson's changes.
Replaced some ifs with a switch statement.
Replaced an uneeded loop through a list (list.Remove() does this anyway)

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-18 03:15:31 +00:00
MrPerson
8448fc0104 Remove that annoying ass "is_special_character used on an unknown silicon" debug message. 2013-03-17 16:34:49 -07:00
MrPerson
eb95e92d78 Err... ok so now is_special_character() is good. Sorry. 2013-03-11 11:59:18 -07:00
MrPerson
520a9cfdcd Tweaked is_special_character() to be meaner, leaner, and less buggy
Not that those bugs matter, they only effect traitor cyborgs.
2013-03-11 10:10:19 -07:00
MrPerson
a88b30ab31 Removed mind.original
All usage of it on silicons is replaced by is_special_character()
is_special_character moved from admin.dm to mob_helpers.dm
Also fixed a runtime having to do with objectives.
2013-03-11 05:40:21 -07:00
petethegoat@gmail.com
8ff7285645 Updates HUD stuff!
The main goal was to remove all the pointless shit in the UI style dmis, but this commit actually goes a bit deeper than that.

Formally renames the "hurt" intent to "harm", in line with everything else in the world.

Removes the old screen1_... .dmis. They've been replaced with screen_... .dmis. They function much the same.
screen_gen.dmi is used for things which apply to multiple UI styles, such as storage slot sprites, or the intent selector. (These can still be overridden in HUD code, though.)

Item action buttons have been changed to use a template from the UI style, and the icon_state of the item.
var/icon_action_button has been removed- varvar/action_button_name must be used instead to add action buttons for items.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5826 316c924e-a436-60f5-8080-3fe189b3f50e
2013-03-08 21:32:00 +00:00
petethegoat@gmail.com
58c7f79398 Moved
var/obj/item/weapon/back
var/obj/item/clothing/mask/wear_mask
var/obj/item/weapon/tank/internal

from /mob to /mob/living/carbon.

/mob/proc/abiotic() no longer does any extra checks even if full_body == 1.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5722 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 18:53:09 +00:00
petethegoat@gmail.com
a1ac5f0e66 Renamed /datum/organ/external to /datum/limb.
Updated all files.

Removed the skeleton and skin organs.

Updated WIP surgery.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5689 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-11 18:52:33 +00:00
petethegoat@gmail.com
3c02e14efd Fixes issue 1179. If gravity is off, can't escape trash chutes
Fixes issue 1219. Cloning Scanner Popping Out Prematurely
Fixes issue 1182. Using wrapping paper on a bodybag
Fixes issue 1238. Reading while blind (fixes paper, photographs, and books)
Fixes issue 1253. Braindead message when converting non braindead people (rev)
Fixes issue 1188. Head revs converting unconscious people

Added is_blind(A) as a helper proc for blindness. It returns 1 if A is a fully blinded carbon mob.

Updated the loot spawner to use a list instead of a text string.

Updated gun reloading to use text styles.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5619 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-27 13:20:59 +00:00
giacomand@gmail.com
a56e922053 Committing for Cael_Aislinn:
= Giant Spiders =
- Nurses spin webs which impede progress, bundle items and mobs up in cocoons, lay eggs to create spiderlings
- Nurses are slow and weak, but their bite has a chance to paralyse the victim
- Spiderlings skitter about and eventually grow into giant spiders. 
- Spiderlings will ventcrawl, so they can spread over the station pretty fast. 
- Hunters are fast, have decent health and the most effective poison
- Guards are medium speed but the health and direct damage
- The poison of hunters and guards can cause hallucinations if they bite you

= Farm animals =
- Cows can be milked or butchered for a large supply of meat. Sadists can also tip them over (with intent_help). 
- Goats can also be milked, but have a nasty temperament. 
- Chicks grow up to be chickens, who lay eggs and continue the cycle. But where did it start? (they're very noisy). 
- All three are orderable via QM. 

My changes:

- Added a spider infestation event.
- Optimized code with spiders and simple_animals.
- Made a /hostile/retaliate type which will only fight back when hurt. Based on Cael's code.
- Added some farm animals on the map.
- Changed events, added a setup() proc which can let you setup variables or the event. Made the event only kill itself when it has called, announce(), start() and end().
- Brainrot will only need alkysine as a cure.
- Communication blackout will always be silent.
- Changed some admin buttons to use the new event system.
- Added a forceEvent proc which you can use when you enable debug verbs.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5525 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-12 16:44:06 +00:00