Commit Graph

347 Commits

Author SHA1 Message Date
Hornygranny
4d9715bd1b Replaced spaces with tabs. 2014-01-10 11:50:46 -08:00
Hornygranny
1cb429bb65 Code by Giacom. Changes alien neurotoxin spit to dumbfire. 2014-01-10 11:25:06 -08:00
Perakp
8ba1e8cd33 - Moves spells from the mob to the mind.
- Construct spells are an exception.
- Spells are transferred whenever a mind is transferred: cloning, pod cloning, borging, staff of changing.
- Spells are not transferred when you create a new mind for a new mob: soul stones, golems, respawns.
- To my surprise, this did not fix the issue where a mind-swapped wizard loses their spells when their original body is destroyed. I do not know why this happens.
- Non-human mobs can't use spells by default. Varedit spell.human_req to do that.
2014-01-10 15:59:55 +02:00
sirbayer
45cb745b6b Merge branch 'master' of https://github.com/tgstation/-tg-station into srsbsns-deadlyboolets
Conflicts:
	code/modules/projectiles/guns/magic.dm
2014-01-06 17:59:15 -08:00
Cheridan
004c3d7be6 Merge pull request #2198 from Incoming5643/wands3
[Marble Madness] Improved Logging on the Bolt of Change
2014-01-01 14:14:49 -08:00
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
sirbayer
f4542ee258 Scattershot ho! 2013-12-30 20:43:10 -08:00
sirbayer
d502cc86ea Merge branch 'master' of https://github.com/tgstation/-tg-station into srsbsns-deadlyboolets
Conflicts:
	code/modules/projectiles/guns/magic/wand.dm
2013-12-30 16:39:12 -08:00
sirbayer
a0a73d1ab5 Jesus Christ it compiles 2013-12-30 16:30:36 -08:00
Aranclanos
0184a61ef9 Syringe guns will now work on aliens properly 2013-12-30 19:44:58 -03: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
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
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
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
Giacom
9b7a1bec2a Merge pull request #1535 from Incoming5643/StaffAnimation
Repairs and Expands the Staff of Change
2013-10-11 07:28:58 -07: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
ACCount12
824e7db801 Update bullets.dm 2013-09-06 14:35:27 -07:00
ACCount12
46cfbd2d2b Update bullets.dm 2013-09-06 14:27:30 -07:00
Robson Richards
e1b1c3c6b0 Commits Buff, Stechkin AGAIN 2013-08-29 20:50:32 +01:00
AlexanderUlanH
9082f884d6 Some Fixes
Fixed problems with projectiles hitting walls, and added a missing check
in floral mutarays that caused runtimes when it hit a non-carbon.
2013-06-20 18:33:32 -04:00
AlexanderUlanH
2fcf26667c Overhauled Projectiles
Changed atom's bullet_act to call the projectile's on_hit, and changed
most bullet_acts to call on_hit as well.  Removed some now-unnecessary
snowflake code.

These changes will make projectiles which should effect non-mobs, such
as the gyrojet and the ion rifle, work properly.  Inanimate objects can
now be empulsed with the ion rifle, whose projectiles used to dissipate
on hitting anything but a mob.  Gyrojets now explode on most objects, as
opposed to just on walls and mobs, and the snowflake code that made them
work on walls is no longer necessary.  The code for pulse rifles'
breaking walls has been moved from a check in turf to a check in pulse
beams, and has been expanded to include structures, allowing them to
(slowly) break girders.  For coders, it means that on_hit is a reliable
proc for the effect of a bullet's hitting an object.
2013-06-19 23:24:00 -04: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
5ca166cae0 Refactored underwear to use datum/sprite_accessory/underwear similar to hair and facial_hair.
People may select any underwear (regardless of gender) at a dresser, but not in preferences.
random_underwear(gender) will return a random pair of underwear suitable for your gender.
Removed an unused variable in sprite_accessory

The new_player preferences screen now randomizes character slots for which there is no data (so no more bald, fat, white guys in diapers greeting new players)
datum/preferences character settings are randomised at New().
replaced /datum/preferences/proc/randomize_appearance_for(human/H) with /datum/preferences/proc/random_character(), it does the same stuff without the copying to a mob. Basically, now when you want to make a random character you just do var/datum/preferences/A = new(); A.copy_to(human_mob), randomisation of appearance and name will already be done. Easy.

Reworked the savefile updating/versioning code to make it easier to work with. I've used it to update underwear preferences to the new system as an example.

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-28 11:11:40 +00: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
giacomand@gmail.com
504342b4a7 - PA particles and projectiles will now be garbage collected. I have tested it to make sure that they are no longer in memory.
- You should no longer open doors when being pushed back in a pod/shuttle.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5750 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-20 23:29:07 +00:00
giacomand@gmail.com
d2a41eea90 - Added plastic explosive wire(s). It has a single wire which when cut/pulsed will cause it to explode. Yeah you can attach a signaler to it.
- Gave the c4 a little bit more power.
 - Added a new icon for the staff of animation. Created by Teh Wolf.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5698 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-13 12:45:57 +00:00
giacomand@gmail.com
87b611aec0 - Fixed some bugs with traffic computer. Added some more functions for NTSL, which I think will really expand the functionality of it. time() will return the time in the number variable, timestamp(format) will return it in string.
- Increased the allowed w_class things in secure briefcases. Equalized the amount of stuff you can put in a briefcase with the backpack.
 - The staff of animation will turn animations onto their side, if they were created by a different user.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5658 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-06 10:33:29 +00:00
Kortgstation@gmail.com
c66a06d177 Added 3 more slime types so the evolution tree would be symmetrical again.
Added a bullet act to resin doors/nerfed their health.

Removed larva/drone from the possible xeno transformations with staff of change so using it doesn't always derail into a xeno round/the wizard getting facehugged.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5638 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-01 10:16:54 +00:00
giacomand@gmail.com
d9c3a3fd4c - Spiders are slower and take more damage from cold/heat.
- Increased the announce time for infestations.
- Made the staff of animation mimics not care about staffs being dropped, they will not attack their creator ever.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5538 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-13 04:16:31 +00:00
petethegoat@gmail.com
ef8369409e Committed Cael Aislinn's proposed commit: http://forums.nanotrasen.com/viewtopic.php?f=16&t=11641
- Xenos suit and helm (completely obscuring, and almost indistinguishable from drones) (admin spawned only for now). 
- Facehuggers now have different icon states for being thrown and after impregnation. 
- New death, unconscious and sleeping icons for aliens. 
- New icon (and projectile type) for neuroxotin. 
- New infection overlay images for telling aliens about pregnant humans (3 icons, showing the progression of the infestation). 
- New system for handling alien impregnation (alien embryos are an object inside the mob, instead of a disease). 
- Players can be operated surgically to remove the alien embryos (targetting the chest: scalpel, surgical saw, hemostat, retractors. If the embryo is nearly fully developed, it might come out alive though. 
- Corgis can now get impregnated. 
- There is a short animated overlay of a chestburster when it comes time to burst chests. 
- Alien larva now have three different icon sets, depending on their growth (25% they are bloody and pale, 25% - 75% they are pale, 75% onwards they are deep red).


Fixed up table smashing, and added rack smashing in the same way.
Added new north/south facing for the large alien queen.
Updated the changelog.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5493 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-08 16:30:45 +00:00
rockdtben@gmail.com
169c96db1b Too remove potential excessive garbage collection per tick. We will be reusing lists for overlays instead of deleting and creating them.
the .Cut() proc on a list will empty a list by default. This also will set the len to 0.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5465 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-04 15:11:06 +00:00
giacomand@gmail.com
9941bb8587 Added mimics! There's the classic crate (chest) mimic which waits until somebody is close before trying to attack them. You can fill him with loot by putting items on him on your map. This was done by changing the base initialize proc to an /atom/movable and then instead of looping through the world for objects, instead loop for atom movables.
The next type of mimic is for the staff of animation! They will copy the icon of the object they're copying and will set themselves stats based on the object too. They will not attack the bearer of the staff which made them animated.

Added the option to get the staff on the wizard's spell book.

Added a "friends" var to hostile mobs. It will make the simple animal ignore friends when choosing targets.

Changed the statues from /obj/effect/showcase to /obj/structure/showcase.

Added a new variable to projectiles, "shot_from" is the gun that shot the projectile. It's used to determine what staff animated the mob and it will then add that staff, so it can ignore it when choosing targets.

Added a wander var for simple animals, turning it to 0 will stop the simple animal from moving when idle.



git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5246 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-02 04:38:43 +00:00
Kortgstation@gmail.com
0c4f441cb5 Added Cheridan's slime sprites to replace roros. Replaced all mentions of roro/metroid with slime. Once Cheri has the rest of the sprites/Phol gets mutant race sprites I'll start work on redoing metroid/slime code with Giacom and adding breeding.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5223 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-29 04:12:22 +00:00