Commit Graph

45 Commits

Author SHA1 Message Date
Neerti
4ac6d34235 Adds Tile-based Attacks
Adds ability to attack mobs by clicking their tile.
When someone clicks a tile with a weapon while off help intent, and if a mob is occupying that tile, the mob will be attacked as if they were clicked directly.
If more than one mob is on a tile, one is chosen randomly.
You cannot hit yourself by clicking your own tile.
Weapons with cleaving abilities will attempt a cleave on the tile clicked on, making it very easy to hit (simple) mobs with those weapons if near you.

Other changes.
Cleave proc can accept any atom now and not just a mob.
Also cleans up weapons deciding how they can cleave somewhat.
2018-04-05 13:28:05 -04:00
BillyBangles
85e377f017 Adds a cursed sword (and other haunted things) (#4931)
* adds cursed sword and 'haunted' object framework.

* fixes back.dmi conflicts

* adds cursed blade ghost pod

as well as fixing some ghost pod oddities

* fixes misc.dm conflicts

* adds cursed sword cave POI

* makes cursed sword use voice mob

as opposed to a brainmob
2018-03-19 11:49:33 -07:00
atermonera
48c6161c4d Adds umbrellas to loadout, for 3 points 2018-02-26 12:39:56 -08:00
atermonera
4197a0c117 Adds umbrellas sprites courtesy of schnayy 2018-02-17 13:30:50 -08:00
MarinaGryphon
72318d46b6 Replaces most of the gender macros. (#4681)
* Fixes #4632.

* 1:27 am coding best coding

* fixes a warning

* Removes the last of the gender macros. Gender is dead.

* gender II: the travis-ing

* linebreaks are dead too.

* oops i accidentally the gender, also ambiguous gender is now taken into account for get_visible_gender
2018-02-03 14:40:09 -06:00
Neerti
bde9ae6f7e Adds Visual Cleavage
Axes executing a cleaving attack now has a visual effect to show the tiles that can potentially get hit.
Gives hatchets and the energy axe the ability to cleave.
2017-12-31 05:53:39 -05:00
MisterLayne
0e5a097534 Second time is the charm. 2017-12-09 09:38:03 -05:00
Neerti
2f7db506eb Adds Variable Click Delay
Now certain weapons can strike faster or slower than usual. No weapons currently do this as this PR just lays the groundwork for that.
The click delay can also be modified with traits. The slime agility modifier makes attacks happen 25% sooner.
Adds debug test verb to display a weapon's DPS. It's really basic but should be sufficient for future force adjustments I might do in the future.
2017-11-28 16:11:56 -05:00
Neerti
0e57b66f6a Adds an Esword subtype that wrecks synthetics.
Ports /tg/'s esword and double esword sprites, both item and inhands.
Hivebot isSynthetic() now returns true.
2017-10-13 02:17:27 -04:00
Anewbe
5bfc0c851e Changes the way embedding works 2016-10-11 21:29:49 -05:00
Yoshax
19e0342145 Resolves #2435 2016-10-07 03:43:28 +01:00
Neerti
828dacf485 Centralizes weight class definitions
A lot of new defines are now in inventory_sizes.dm, which contains;
All the size identifiers (the thing that tells the game if something is bulky, or w/e).
Storage costs for all the sizes, which are exponents of two, as previously.
A few constants for inventory size.

Also changes all storage item's capacity definitions by basing it off of how many 'normal slots' exist for it.  This allows one to change the definition for all of the defines in the file, and everything will follow along without needing to change 500 files.  In testing, I made all ITEMSIZE_COST_* defines doubled, and nothing had broke.

The benefit of doing all of this is that it makes adding new weight classes in the future much simpler, and makes knowing how much space a container has easier, as seeing ITEMSIZE_COST_NORMAL * 7 means it can hold seven normal items.
2016-09-22 00:51:51 -04:00
SinTwo
7192bf08fd item_state cleanup 2016-07-11 22:31:32 -04:00
Datraen
beda3185eb Reverts the second mob clean up because of incomplete implementation.
This caused an error that would then cause machinery to hang on the server, and was reproduced successfully.
2016-05-04 00:24:55 -04:00
Kelenius
df5a0d7941 Mob inventory cleanup
Replaces three item removal procs with one
Adds a proc to delete an item on the mob
2016-03-24 01:23:08 +03:00
Kelenius
afbc235b96 Mob inventory cleanup 2016-03-15 16:39:40 +03:00
mwerezak
db8aefb121 Refactors duplicate parry code 2015-08-28 14:39:28 -04:00
HarpyEagle
df3eeb891e Fixes dead people blocking stuff with shields. 2015-08-26 11:51:04 -04:00
mwerezak
fb6b94de87 Incorporates laser reflection into the shield system 2015-08-26 10:39:54 -04:00
mwerezak
0a751322e3 Rewrites shield handling
Rewrites shield handling to be less hardcoded.
Shields now take into account the damage source and direction when blocking.
Riot shields no longer block most bullets, but are better at blocking melee and thrown items than they were previously.
Energy shields block projectiles with a similar probability as they did before, and block melee and thrown as well as riot shields do.
Shields no longer block from directly behind the player.
Weapons now only block melee attacks.
Cool effects when blocking with an energy shield or energy sword (including holoswords).
2015-08-26 10:39:31 -04:00
Zuhayr
bf313ae238 Merge pull request #9851 from mwerezak/armourpen
Adds armor penetration system
2015-08-22 02:22:17 +09:30
mwerezak
2cb46e035c Removes unused obj flags and fixes overlapping flags
Removes ONESIZEFITSALL and NOSHIELD, which were unused.
2015-08-18 17:08:41 -04:00
mwerezak
76b6b90299 Adds armor_penetration values to energy weapons 2015-08-13 22:38:53 -04:00
GinjaNinja32
631ff21980 Merge remote-tracking branch 'upstream/dev-freeze' into dev
Conflicts:
	code/game/gamemodes/cult/runes.dm
	code/game/objects/items/weapons/implants/implantcase.dm
	code/game/objects/items/weapons/melee/energy.dm
	code/modules/mob/living/carbon/human/emote.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/human/human_attackhand.dm
	code/modules/mob/living/silicon/robot/drone/drone.dm
	code/modules/mob/living/silicon/robot/emote.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/nano/modules/crew_monitor.dm
	code/modules/organs/organ_internal.dm
2015-08-11 18:47:05 +01:00
SomeoneElse
8c0984d5b1 Fix gender issues, some typos from various files 2015-08-11 13:41:40 +03:00
GinjaNinja32
c77605265c code/game/objects, code/game/machinery merge fix 2015-06-02 20:18:45 +01:00
Kelenius
35a20002c6 Merge branch 'dev' into ofResearchAndPrototypes
Conflicts:
	baystation12.dme
	code/defines/obj/weapon.dm
	code/game/mecha/equipment/tools/medical_tools.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/mecha.dm
	code/game/mecha/mecha_parts.dm
	code/game/objects/items/devices/flash.dm
	code/game/objects/items/devices/powersink.dm
	code/game/objects/items/devices/scanners.dm
	code/game/objects/items/stacks/sheets/glass.dm
	code/game/objects/items/stacks/sheets/sheet_types.dm
	code/game/objects/items/weapons/RCD.dm
	code/game/objects/items/weapons/circuitboards/machinery/biogenerator.dm
	code/game/objects/items/weapons/circuitboards/machinery/cloning.dm
	code/game/objects/items/weapons/circuitboards/machinery/mining_drill.dm
	code/game/objects/items/weapons/circuitboards/machinery/pacman.dm
	code/game/objects/items/weapons/circuitboards/machinery/power.dm
	code/game/objects/items/weapons/circuitboards/machinery/recharge_station.dm
	code/game/objects/items/weapons/circuitboards/machinery/research.dm
	code/game/objects/items/weapons/circuitboards/machinery/shieldgen.dm
	code/game/objects/items/weapons/circuitboards/machinery/telecomms.dm
	code/game/objects/items/weapons/circuitboards/machinery/unary_atmos.dm
	code/game/objects/items/weapons/flamethrower.dm
	code/game/objects/items/weapons/handcuffs.dm
	code/game/objects/items/weapons/kitchen.dm
	code/game/objects/items/weapons/shields.dm
	code/game/objects/items/weapons/storage/backpack.dm
	code/game/objects/items/weapons/surgery_tools.dm
	code/game/objects/items/weapons/teleportation.dm
	code/game/objects/items/weapons/tools.dm
	code/modules/assembly/igniter.dm
	code/modules/assembly/infrared.dm
	code/modules/assembly/mousetrap.dm
	code/modules/assembly/proximity.dm
	code/modules/assembly/signaler.dm
	code/modules/assembly/timer.dm
	code/modules/assembly/voice.dm
	code/modules/clothing/glasses/glasses.dm
	code/modules/hydroponics/trays/tray_tools.dm
	code/modules/mining/drilling/scanner.dm
	code/modules/mining/mine_items.dm
	code/modules/mining/ore.dm
	code/modules/mob/living/silicon/robot/analyzer.dm
	code/modules/power/rust/circuits_and_design.dm
	code/modules/projectiles/ammunition/boxes.dm
	code/modules/projectiles/guns/energy/laser.dm
	code/modules/projectiles/guns/energy/special.dm
	code/modules/projectiles/guns/energy/stun.dm
	code/modules/research/circuitprinter.dm
	code/modules/research/designs.dm
	code/modules/research/destructive_analyzer.dm
	code/modules/research/protolathe.dm
	code/modules/research/rdconsole.dm
	code/modules/research/research.dm
	code/modules/research/server.dm
	code/modules/research/xenoarchaeology/genetics/reconstitutor.dm
2015-05-20 11:50:28 +03:00
mwerezak
549270c73c Merge branch 'dev' of https://github.com/Baystation12/Baystation12 into item-color
Conflicts:
	code/game/machinery/washing_machine.dm
	code/modules/mob/living/carbon/human/update_icons.dm
2015-04-26 14:53:01 -04:00
PsiOmega
1ae0ad6d92 Updates the atom_pool, now datum_pool, to handle any datum object.
Makes the garbage collector similarly robust. Continues the whole Destroy/qdel porting.
2015-04-24 09:59:05 +02:00
mwerezak
5b037670b3 Removes most instances of item_color
Notable exception is for clothing/under, those will have to be removed once item_state override is implemented.
2015-04-22 17:40:27 -04:00
Kelenius
db30c15e4c Updates to science
Protolathe and CI build procs moved to them from RD console.
Protolathe and CI now have a build queue. Designs take varying time to
build.
P and CI material storage is now a list instead of a set of vars.
origin_tech is now a list.
All sheets now contain exactly 2000 units of matter.
In design datum, chemicals and materials are two separate lists.
Designs are now sorted. The method is kinda hacky but flexible. They
have a var, sort_string. Designs are sorted alphabetically using it.
Circuits how show whether they build a machine or a computer in CI menu.
Adds item construction, for now protolathe is used.
2015-04-04 13:38:03 +03:00
Zuhayr
8f242740a8 Added Techhead's cyberlimbs under datum system. Added limbs to dionaea. Working on robotic limbs. 2015-03-28 11:01:11 +10:30
Zuhayr
e0f23aead5 Collapsed all organs into one object type. Added more interesting amputation. Added dislocation. WIP. 2015-03-11 21:17:51 +10:30
Kelenius
10de826ca3 Removes FPRINT and TABLEPASS flags 2015-01-23 22:27:32 +03:00
Zuhayr
b36b41a2f5 Fixes #7656 2015-01-09 03:58:43 +10:30
Zuhayr
a5b937c1e8 Readded null check. 2014-12-31 14:12:10 +10:30
Amunak
4882074739 Code formatting, EOL at EOF fixes, refactoring 2014-12-18 03:11:49 +01:00
Zuhayr
ebbb9b36b5 Moved everything to a module-based hardsuit system.
Generalized all ninja power and gear code to work with new rig system.
Added shurikens, weapon mount, more work on deployable items.
Readded energy nets and energy blades.
Grenade launcher/charge stuff, interface stuff.
Renamed previously existing rigs to voidsuits, restructured rig and voidsuit files.
Refactored the energy net and teleportation proc.
Totally rewrote AI core/intellicard transfer procs.
Added rig sprites by Mordeth221, added step by steap suit sealing/inability to interfere with suit sealing process.
Updated map paths to use voidsuits.
Added chemical dispenser functionality, added power sink, added atom/drain_power() proc for later use.
Added rigsuit verbs, added voice changer.
Renamed MASKINTERNALS to AIRTIGHT, added internals checks for airtight helmets.
Added drain_power() procs to vulnerable machinery.
Reimplemented data theft.
Added suit maluses for losing your cell while wearing one.
Transitioned the rig suits to a back-mounted item that also controls a chestpiece.
Converted rig module to a storage item, convert ERT voidsuits to hardsuits.
2014-11-14 22:57:26 +10:30
mwerezak
cc82a47163 Cleans up food slicing 2014-11-07 00:10:49 -05:00
mwerezak
81f8f36874 Makes items used to slice food have the edge flag set, cleans up energy weapons, and adjusts slicable w_class. 2014-11-06 19:50:40 -05:00
mwerezak
1b33ca943d Separates the sharp flag into edge and sharp
Now weapons can properly cause cuts without necessarily having a greater
chance to remove limbs.

Also separates is_sharp, has_edge, and can_puncture.
2014-06-15 20:25:39 -04:00
Mloc-Argent
3d2f92f92c Made energy weapons not get a bloody overlay.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
2013-10-07 20:35:35 +01:00
johnsonmt88@gmail.com
1f07f31b64 Grammar fixes for item-suicides.
I got about half-way through changing these when SuperSayu came up and said he fixed this a while ago but never posted the fix. So technically half of these were fixed by me and half by him. Credit to both of us!

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5564 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-17 02:52:57 +00:00
johnsonmt88@gmail.com
2c3ae32f04 You can now commit suicide using certain items! There will be more items to come, this really just lays the groundwork.
Credit goes to CodenameB and Spike68 for the original proposed commit. Althought it ended up changing, this commit still uses all of their suicide messages. Thanks to carn for pseudo-coding the base of the system that I ended up using to implement this.

The suicide verb checks the item in your active hand and calls that item's suicide_act(). (/obj/item/proc/suicide_act(mob/user)) The proc displays the suicide message to any viewers and returns a damage type. The suicide verb then applies 175 damage to the mob divided by the number of damage types. If the proc returns null (meaning that the item does not have a suicide_act() defined) the regular suicide occurs.

To any coder wanting to add items to this: 
- You MUST return one or more damage types. "return (BRUTELOSS|FIRELOSS)" for example.
- Please do not manually type in the item's name; use [src] to refrence an it instead. It'll save time down the road if an item gets renamed. It also helps handle any child of that item without copy/pasting the proc to each child.
- Please do not use 'usr' for anything.

Parrots can now see which item they are holding onto in the stat panel.

The toy crossbow should once again work properly. Fixes Issue 1227.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5468 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-05 03:56:24 +00:00
johnsonmt88@gmail.com
e7ebfae317 Another whack at the defines folder:
Removed defines/obj/toy.dm and moved the defines down to objects/items/toys.dm

Moved a big chunk of defines out of defines/obj/weapon.dm and into their respective .dm files.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5441 316c924e-a436-60f5-8080-3fe189b3f50e
2013-01-01 01:25:02 +00:00