Commit Graph

222 Commits

Author SHA1 Message Date
Incoming
b33efbfa6b Improves logging on the bolt of change so admins can follow the paper trail of terrible mobs who get turned into other terrible mobs 2013-12-31 01:11:20 -05:00
Incoming
47ba33c50c Removes a pair of well meaning but apparently poorly realized code fixes for edge cases. 2013-12-29 13:46:29 -05:00
Incoming
26a1bb65f2 Merge branch 'master' of https://github.com/tgstation/-tg-station into wands3
Conflicts:
	code/modules/mob/death.dm
	code/modules/mob/living/carbon/alien/death.dm
	code/modules/mob/living/carbon/brain/death.dm
	code/modules/mob/living/carbon/human/death.dm
	code/modules/mob/living/carbon/monkey/death.dm
	code/modules/mob/living/silicon/death.dm
	code/modules/mob/living/silicon/robot/death.dm
2013-12-27 00:55:44 -05:00
Giacomand
c39f61fe27 * Syringe gun projectiles will now display a message when the shots are deflected by the THICKMATERIAL flag.
* Fixes the space helmet not having the flag.
 * Fixes various coverall armour not having the THICKMATERIAL flag.
2013-12-22 01:43:03 +00:00
Incoming
a73721f7a1 Fixes for Gia:
Fixes the mysteries of reviving simple animals in the least intrusive manner I could think of
Removes player_controlled because ckeys did much the same thing
Uses update_canmove() instead of hardseting it

One last Bugfix: Simple animals generated with no real_name will use their initial name as their real name so that transformed antags will not get a "(survived as )" because the thing they turned into didn't have a real_name set.
2013-12-19 21:49:15 -05:00
Aranclanos
0fdcd42592 Merge pull request #2054 from Cheridan/Nuke
Nuke Ops Tweaks: Flamer and Mechas
2013-12-19 13:37:32 -08:00
Incoming
689aecc336 I forgot how children work guys
Merge branch 'master' of https://github.com/tgstation/-tg-station into wands3
2013-12-19 15:07:59 -05:00
Incoming
ac1a96fd43 feature: renames the monkeyizing var to "notransform" since that's how it was being used in the code, as a flag to tell code to ignore transformation (initially because they were already turning into a monkey).
bugfix: gives notransform to etheral jaunting based on an observed edge case where a wizard was staff of changed while starting a jaunt and got stuck in bluespace for the rest of the round

meta: modified revive() so I could remove all that horrible snowflake I introduced to let reviving simple mobs come back
2013-12-19 11:50:33 -05:00
Giacomand
44895bf36f Merge branch 'master' of https://github.com/tgstation/-tg-station into tinypricknomore_andgunstuff
Resolved Conflicts:
	code/modules/projectiles/projectile.dm
2013-12-18 18:27:22 +00:00
Incoming
45e89b5190 Bugfix: Adds a var to simple animals "player_controlled" to surpress behaviors in simple_animals that have players assigned.
Bugfix: Dead player mice won't be converted to items so they can still be revived.
Bugfix: Players playing chicks won't die by developing into chickens anymore
Bugfix: Fixes an edge case where a poor soul struck by multiple polymorphing shots at once ends up in a state where they can't move.

Feature: Renames the wand of resurrection to the wand of healing to drive home the fact that it does the same things the staff of healing can do

Balancing: Gives the wand of healing more shots. 10, 5, 5, 4 up from 3, 2, 2, 1
2013-12-18 12:28:38 -05:00
Aranclanos
f1677efdea Merge pull request #2040 from Razharas/master
Some logging and fingerprints
2013-12-17 21:03:36 -08:00
Razharas
358a85eb3d Completed the transition to a new proc
All the logging i have found in the code was changed to use the
proc(maybe i missed something)
Killed all runtimes found so far
Proc now handles all the checks, no need to add checks in the body of
object
2013-12-17 22:56:04 +04:00
Cheridan
b68eadfb14 Nuke Op Tweaks
In response to feedback:
Dark Gygax no longer has the scattershot. Instead, it has a modestly powerful carbine loaded with incendiary rounds, solidifying its role as a hit-and-run and squad-support platform.
The Mauler now has the scattershot in addition to its existing arsenal, to give it that edge against crowds that you'll need at those higher populations.

Included with the new mecha weapon is a minor code refactoring of mech guns... There shouldn't be any noticable changes to the user. mech code is awful, guys
New sound effect for mecha launchers (Having the same sound effect for projectile launching and exploding drove me nuts.).

Nuke op flamethrowers now start with a full tank.
2013-12-16 23:56:49 -06:00
Incoming
ae5e6d591f Bugfix: Wrote a work around for reviving dead simple animals, who were simply becoming pristine corpses before this. Not the prettiest thing in the world, but blame how simple animals die. 2013-12-16 19:19:45 -05:00
Incoming
6efd7d39e0 Adds new and better wand and spellbook sprtes by Neerti
Adds new functionality where wands will look different once they're out of charge for at a glace judgements
Adds a wand of nothing to the hacked item list for the autodrobe, by popular request
2013-12-15 16:55:11 -05:00
Incoming
c9f69869f2 Aranclanos Fix Omnibus
*Removes zapping oneself by attackselfing a wand, leaving clicking yourself while holding the wand the only way to do it because...
*Removes the warnings for zapping yourself with bad wands. Careful with that wand of death, kids!
*Removed some redundant lines
*Adds logging/sounds to zapping yourself
*Removed the change to wizard_continuous_rounds. It will become it's own PR
*Removed some redundant lines
*Uses the mob/living revive() proc to heal/raise people using the wand/staff of animation
2013-12-14 19:40:58 -05:00
Giacomand
130803fcd9 * Added the THICKMATERIAL flag. It is used for thick coverall suits (space suits, firesuits, etc) and it will stop injections from syringes, hypos and parapens. It is also used for head items such as biohoods and space helmets. If you aim for the head, it will check if you can inject through the head equipped item, if you aim anywhere else it will check the external suit.
Let me know if I missed an item or if you don't think an item should have the flag.

* Cleaned up a bit of the gun code.
* Fixed an issue with shotgun darts not working in barrel shotguns.
* Made the on_hit() have a zone, will be used for syringe guns in another PR.
* Removed the unused sleepy pen.
* Changed /obj/item/weapon/gun/projectile/shotgun/pump/sc_pump to /obj/item/weapon/gun/projectile/shotgun/sc_pump, there was no /pump/ anywhere else.
* Shotgun darts will follow the new flag.
* Shotgun darts are now open containers, and I removed the snowflake check for them in syringes.
* Added logging for reagents in any projectile.
2013-12-13 00:00:20 +00:00
Incoming
c396c3ae8a Suggestion implimentation patch!
*Span classes the whole update
*Spellbooks no longer vanish after being used, instead used spellbooks now have various bad effects should they be attempted to learned from again (the original reader won't acidentally fall to this, as they will just say "I've already read this"). Leave em out as traps for people or properly dispose of your trash! Or...
*The charge spell can now attempt to recharge one use spellbooks so someone else can learn the spell. This only has a 20% success rate and will destroy the book should it fail (even if the book was actually unused). You can't attempt this on the wizard's spellbook
*The "staff of nothing" (functional) placeholder now uses the generic staff sprites
*Spellbooks can now be placed in bookshelves just like normal books
*The teleport spell won't yank anchored things anymore, but as a consolation it will warp the entire contents of a tile should it be targeted. The code has been tweeked so this shouldn't effect the server too bad even if large numbers of items are warped to unique locations this way
2013-12-12 00:24:51 -05:00
Incoming
b7b05d53ec Code optimization and copypasta removal:
the teleport wand now uses do_teleport
the polymorph wand now uses wabbajack in both instances

You can now click on yourself while holding a wand to cast it on yourself in addition to clicking on the wand itself.

Changed how guns/magic are given out slightly. Previously no antag could get a gun/magic thing (including survivors made by the spell in the case of multicasting) but now antags who aren't the wizard or an apprentice of the wizard also get one.

Fixed a few bugs on accidentally burning charges by click in places tht wouldn't actually fire the wand/staff
2013-12-10 01:04:16 -05:00
Incoming
51d12a7512 Adds all sprites for all wands, books, and the staff of healing
Fixes an issue where someone spamming a wand might lose charges without actually firing the bolt
Removes a few missed bugtesting lines
Adds a var (variable_charges) to be disabled for wands with assured max charges for future use
2013-12-09 12:46:34 -05:00
Incoming
4ac8a4164c Summon Magic / Charge / Wands&Staffs / One time spellbooks / New Apprentice
---

Summon Magic:

This new wizard spell works much like summon guns except it instead brings the crew magical tools and weapons. There are preexisting artifacts (minus some that would cause huge confusion/balance issues) as well as new spellbooks, wands, and a staff. The chance of survivor antag is the same as summon guns.

---

Charge:

This new spell allows for the recharging of otherwise unrefillable wands, but there's a heavy chance that the total number of charges will decrease with each casting until eventually they're impossible to keep recharging. As a bonus the charge spell can also be used to charge batteries and things that run on batteries (such as energy weapons). This carries the same max charge weardown penalties however. Lastly this spell allows a wizard to charge other wizards with a grab, reseting their spell cooldown. They cannot use it to charge themselves. It has a 60 second cooldown.

The wizard cannot buy this spell himself, it only comes randomly to the crew during Summon Magic and with the new apprentice loadout.

---

Wands&Staffs:

Magic weapons have been overhauled into their own catagory so there won't be any more weirdness with batteries in staves or apparent magic resistance on things that reflect energy weapons.

Wands have been added, these wands come precharged with a number of shots that can be fired off at their leasure but cannot be recharged once emptied (unless the charge spell is used). They come in a varity of exciting flavors:

*Death: Slays instantly but has very few shots (1 to 3)
*Resurrection: Revives and/or heals instantly but has very few shots (1 to 3)
*Polymorph: Same function as the staff of change
*Teleport: Weaponized blink spell that doesn't respect space tiles and can also warp away machinery or items (but not turf)
*Door Creation: Puts easy access wooden doors in walls
*Fireball: Same function (but slightly lower damage) as the fireball spell
*Nothing: Lame and useless

Wands can also be used on the user (unlike staves) by clicking on them. Warning messages have been added to a few wands so people don't accidentally zap themselves with the wand of death unless they really want to.

Wands cannot be aquired by the wizard directly, and are only spawned during castings of summon magic.

There is also a new staff, the staff of healing, which works as a recharging version of the wand of resurrection. The new apprentice starts with one of these, and they can also be found during summon magic. The wizard cannot purchase it directly, and as a stave he could not use it on himself anyways.

---

One time spellbooks:

Found exclusively in summon magic are one time use spellbooks that can teach any player a robeless spell. Once read the book vanishes.

Books come in the following flavors:
*fireball
*smoke
*blind
*mindswap
*forcewall
*knock
*curse of the horsemen
*charge (described above)

---

New apprentice:

A fourth loadout for apprentice wizards has been added. This wizard is intended as a support role and comes with forcewall (for cover) and charge (used to keep him and the wizard well stocked in laser weaponry or to restore the wizard's cooldowns). It also comes equiped with a free Staff of Healing for keeping the wizard alive. Shoot the medic first folks.
2013-12-04 21:00:36 -05:00
Aranclanos
055f7246c5 Sparks won't be spawned in a null location if the holodeck changes the target before their time to spawn. This will stop some runtimes.
Shotguns won't runtime when pumped.
2013-11-26 10:25:43 -03:00
sirbayer
6cb100382c Removed potential runtime from spawning projectile/shotgun. Also made it so shotguns actually load shotgun shells. 2013-11-01 14:45:36 -07:00
sirbayer
19e51caef0 Modification of .gitignore to include admins.txt. Hopefully.`
Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Modification of .gitignore to include admins.txt. Hopefully.`

Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Modification of .gitignore to include admins.txt. Hopefully.`

Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge remote-tracking branch 'remotes/origin/srsbsns-improvedprojectiles' into srsbsns-improvedprojectiles

Conflicts:
	config/admins.txt
	data/investigate/singulo.html

I don't what I'm doing

Massive overhaul to automatic gun functionality, intended primarily to
allow partially-filled magazines to be released.

Now it compiles and doesn't throw runtimes! Also chambering rounds works
right! Unfortunately the contents still need to be looked at, the Russian
Revolver isn't working, and the Bartender's shotgun is just a nightmare.
Also you still can't eject mags.

Mags eject, most gun work. Shotguns still have a problem with reloading
and chambering. Russian Revolver is a bitch.

Heavy finalizing touches. Fixed references to changed trees. Added
icon_states for some magazines. Fixed revolver glitches and subtyped
double-barreled shotguns to revolvers to fix its glitches. Made bullets
and spent shells more obvious via graphical changes. Probably did some
other things but I can't think of what they'd be.

Sprite tweaks for final preparations for pull request.

final FINAL finalizations.

Adding full paths to overwritten procs for simplicity's sake.

Fixing damaged .gitignore and config/admins.txt.

Finalization for pull preparation. Clean up some descs, eliminate data folder.
2013-10-30 17:56:00 -07:00
Perakp
883039b66b Changed admin.txt back to normal, resolves merge abortions (I hope) 2013-10-27 17:53:37 +02:00
Perakp
ed16e1df09 Merge branch 'testBranch' of https://github.com/Perakp/-tg-station into testBranch
Conflicts:
	code/modules/projectiles/gun.dm
	code/modules/projectiles/guns/energy/special.dm
2013-10-27 17:50:15 +02:00
Perakp
1c267d07fd Fixes indentation 2013-10-27 17:45:24 +02:00
Perakp
eae177a586 Testing branching again
Signed-off-by: Perakp <perhal90@hotmail.com>
2013-10-27 10:56:44 +02:00
Perakp
cec73fb2af Testing branching again 2013-10-27 10:37:29 +02:00
Aranclanos
dd281bb6b2 Merge pull request #1561 from RobRichards1997/11/10/2013-Limbs-are-Objects
Changes Limbs into Objects [Merge/Give Feedback]
2013-10-22 00:41:09 -07:00
Pete Goodfellow
de8ac52a10 Merge pull request #1552 from Giacom/proj_runtime
Fixes a projectile runtime.
2013-10-12 11:28:10 -07: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
Giacom
9b7a1bec2a Merge pull request #1535 from Incoming5643/StaffAnimation
Repairs and Expands the Staff of Change
2013-10-11 07:28:58 -07:00
Giacomand
717064bfc6 * Fixes a projectile runtime. 2013-10-10 23:03:14 +01:00
Jordie
416cbee62c Xrays shoot everything but walls 2013-10-09 18:05:33 +11:00
Incoming
f36507723a Fixes my extra side of potatos
Removes the !isanimal and !isrobot checks from robot creation. A fix has been suggested for the pull currently dealing with MMI that will stop the runtimes. https://github.com/tgstation/-tg-station/pull/1529
Keep in mind that if that request is not ultimately pulled the fix will need to be added to this pull to prevent runtimes from the game trying to take DNA from non-carbon based life.
2013-10-08 16:04:38 -04:00
Jordie
272038e2e7 Xray guns unique and buildable 2013-10-09 01:31:39 +11:00
Incoming
9fb9ed20ed Repairs and expands the staff of change:
*Staff of change now has a 20% chance of turning you into a simple animal (all have been tested to make sure they're properly controllable.
*Staff of change now works on simple animals, adding on_hit doesn't double up damage on simple animals or try to inflict non-brute damage because it's hardcoded to avoid inflicting damage to animals in the generic projectile. Special guns seem to work fine on animals (like the syringe gun for example).
*Mutant races were not updating properly thanks the DNA revamp, so that's been fixed and expanded to include all current races.
*Transfering identity for MMI's in newly created robots has been disabled for animal -> robot because it doesn't work properly for them, robot -> robot also apparently NEVER worked and has likewise been disabled.
2013-10-07 21:41:42 -04:00
ACCount12
110e0f420a Sparks! 2013-09-29 21:25:38 +13:00
ACCount12
78e91a59c1 Sparks! 2013-09-29 21:23:13 +13:00
Aranclanos
ef427aff91 Merge pull request #1318 from ACCount12/master
Shotgun dart overhaul, #1181 fixed, NOREACT flag removed from mobs
2013-09-20 00:33:36 -07:00
supersayu
a993ce62db Bugfixen and minor changes. Fixes #136.
Adjusts the click code to not use client/Click().  The code is largely unchanged, except that it allows the compiler default behaviour of calling atom/Click(), and then forwards the call to mob/ClickOn().  I had some reports that melee combat mixed with movement was behaving oddly, and I believe it may be due to the use of client/Click; the byond documentation says that redefining client/Click() causes additional overhead, and it isn't strictly necessary.

Alters the way double clicks are handled, in an attempt to better handle clickspam, as often occurs during pitched combat.  This may also be responsible for the above, but I don't know.

Inserts proximity (aka flag) checks in all afterattack() procs.  The old assumption was that unless an item used the USEDELAY flag, afterattack() was only called when adjacent, but this is no longer true.  This led to beakers, soap, crayons, etc, all being usable at all ranges.

Removes the NODELAY flag, which was unused.  Removes all existing uses of the USEDELAY flag so that it can be readded to things that need extra delay.

Removes the hand_* procs, previously used by restrained actions.  Instead, the mob helper mob/RestrainedClickOn() has abosrbed basically all the functionality they were used for, which is really only monkeys with jungle fever.

Adds a special case of the Adjacency() proc for doors.  This fixes #136, airlocks being unreachable due to border fire doors.  However, this only takes us back to the unpleasant position where you have to open-hand the door, switch to a crowbar, and pry open the firedoor; it still needs a better fix.
2013-09-17 18:19:14 -04: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
ACCount12
df25dbee9a reverted nucgun changes 2013-09-14 16:38:13 +13:00
ACCount12
556d6b5800 Desc update 2013-09-14 16:20:26 +13:00
ACCount12
85f6bce319 No more SEMICOLONS 2013-09-13 08:43:41 +13:00
ACCount12
b6753a6984 Makes nuclear gun really useful
Now nucgun has reputation of shitty gun that will weaken you with radiation mid-battle. This update makes nucguns useful even without CE's RIG or radsuit.
2013-09-09 02:45:18 -07:00
ACCount12
0a7285e0b7 Merge pull request #1 from tgstation/master
Merging with main /tg/
2013-09-09 02:39:03 -07:00
ACCount12
7d2e590233 Update bullets.dm 2013-09-06 14:44:54 -07:00
ACCount12
fcc96919ff Update bullets.dm 2013-09-06 14:39:10 -07:00