* Added Gloves of North Star, no sprite or talking yet...
* Added sprites for the gloves of the north star...
* Replaced more placeholder sprites for northstar gloves...
* Added gloves of the north star to uplink...
* Added speech on hit, not yet configureable
* Not functional yet, but a step in the right direction I hope...
* IT WORKS!!
* Licensing and cleanup
* Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise
* Reorganized some files, final build??
* Changed the adminlog type from Verb to new type ItemConfigure
* More cleanup, fix sprite reference maybe
* Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx
* Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again!
* Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them
* Made it work with the latest changes on Master
* Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click
* Set value to 0 credits, that's all
* Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts.
* Update MeleeWeaponSystem.cs
Iunno why this got changed in the first place, but I'm changin it back
* emptycommit
* emptycommit
* The tiny fixening
* Add department-specific radio channels
This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.
ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.
IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.
The ugly is that the integer channel number is hard-coded and also shows
up in chat.
Comms are not modeled at this time. You cannot break comms (yet).
All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.
* Remove debugging print
* Convert to prototypes
* Use prototype names in headset prototype
* Adjust list style
* Document prototype fields
* cringe
* some cleanup
* colours
* Remove alphas at least
* cc
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Fixes Holoparasites from killing their hosts when suiciding
* Adds the CannotSuicide tag to the Guardian Parent
This way it effects all guardian types and not just holoparasites.
* Adds check, fixes whitespace
* Fixes the ghosting check
* some work
* equip: done
unequip: todo
* unequipping done & refactored events
* workin
* movin
* reee namespaces
* stun
* mobstate
* fixes
* some work on events
* removes serverside itemcomp & misc fixes
* work
* smol merge fix
* ports template to prototype & finishes ui
* moves relay & adds containerenumerator
* actions & cuffs
* my god what is actioncode
* more fixes
* im loosing my grasp on reality
* more fixes
* more work
* explosions
* yes
* more work
* more fixes
* merge master & misc fixed because i forgot to commit before merging master
* more fixes
* fixes
* moar
* more work
* moar fixes
* suffixmap
* more work on client
* motivation low
* no. no containers
* mirroring client to server
* fixes
* move serverinvcomp
* serverinventorycomponent is dead
* gaming
* only strippable & ai left...
* only ai and richtext left
* fixes ai
* fixes
* fixes sprite layers
* more fixes
* resolves optional
* yes
* stable™️
* fixes
* moar fixes
* moar
* fix some tests
* lmao
* no comment
* good to merge™️
* fixes build but for real
* adresses some reviews
* adresses some more reviews
* nullables, yo
* fixes lobbyscreen
* timid refactor to differentiate actor & target
* adresses more reviews
* more
* my god what a mess
* removed the rest of duplicates
* removed duplicate slotflags and renamed shoes to feet
* removes another unused one
* yes
* fixes lobby & makes tryunequip return unequipped item
* fixes
* some funny renames
* fixes
* misc improvements to attemptevents
* fixes
* merge fixes
Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
* ECS and damage Data
* Comments and newlines
* Added Comments
* Make TryChangeDamageEvent immutable
* Remove SetAllDamage event
Use public SetAllDamage function instead
* Undo destructible mistakes
That was some shit code.
* Rename DamageData to DamageSpecifier
And misc small edits
misc
* Cache trigger prototypes.
* Renaming destructible classes & functions
* Revert "Cache trigger prototypes."
This reverts commit 86bae15ba6616884dba75f552dfdfbe2d1fb6586.
* Replace prototypes with prototype IDs.
* Split damage.yml into individual files
* move get/handle component state to system
* Update HealthChange doc
* Make godmode call Dirty() on damageable component
* Add Initialize() to fix damage test
* Make non-static
* uncache resistance set prototype and trim DamageableComponentState
* Remove unnecessary Dirty() calls during initialization
* RemoveTryChangeDamageEvent
* revert Dirty()
* Fix MobState relying on DamageableComponent.Dirty()
* Fix DisposalUnit Tests.
These were previously failing, but because the async was not await-ed, this never raised the exception.
After I fixed MobState component, this exception stopped happening and instead the assertions started being tested & failing
* Disposal test 2: electric boogaloo
* Fix typos/mistakes
also add comments and fix spacing.
* Use Uids instead of IEntity
* fix merge
* Comments, a merge issue, and making some damage ignore resistances
* Extend DamageSpecifier and use it for DamageableComponent
* fix master merge
* Fix Disposal unit test. Again.
Snapgrids were removed in master
* Execute Exectute
* Add DamageType And DamageGroup Prototypes
* Remove DamageTypePrototype Field "name" as its redundant
* Change I/DamageableComponent to use prototypes
* Update DamageContainer, ReisistanceSet and DamageChangeData
* Change Barotrauma Component to use DamageType from DamageSystem
* Update AsteroidRockComponent
* update some more components
* update some more components
* Fix m o r e c o m p o n e n t s and their damageType
* all thats left is bug/missing node hunting then verification.
* push changes
* update submodule
* Merge fixes
* push DGP for example
* update damagecomponent across shared and server
* fix a few bugs
* Fix Merge issues
* Refactor damageablecomponent update (#4406)
* Fixing merge.
I messed up part of the merge. this should fix it?
* Barotrauma now uses prototypeManager
As System.Runtime.CompilerServices also has a [Dependency], I think I had to use the full path [Robust.Shared.IoC.Dependency]
* FlammableComponent now uses prototypeManager
* SuicideCommands now use prototypeManager
* Changed many files to use prototypeManager to resolve damaege prototypes
Yeah.... prototype references would be very nice. maybe this was all a waste of time.
* Grouping prototypeManager.Index with datafield definitions
This will make it easier to eventually add prototype references
* removed unused variable
* Moved lines around.
Lines now consistent with other TODO PROTOTYPE blocks
* Grouping more prototypeManager.Index with datafield definitions
* Removed unnecessary code
* Added more prototypeManager indexing
These ones weren't pointed out by DrSmug. But I think this is all of them? That or my regex is shit.
* Remove redundant _damage field
* Remove redundant _currentTemperature
* Moved variables down
* Added prototypeManager indexing to TemperatureComponent
* WeaponComponent/System now use ProtptypeManager
And as far as I can tell damageType is required, and therefore should never have been null anyway?
* Make ranged weapon clumsy fire effects datafields
And yes, the order in which the clumsy effects occur is very important.
* Made damage on vital body part loss a datafield
* Renamed several damageGroup variables to group
* Capitalised DamageListToDamageGroup
* Make radiation and explosion damage types datafields
* Renamed _supportedDamageGroupIDs and _supportedDamageTypeIDs
* Fixed mistakes
Frogot to remove prototypeManager index DamageTypeTrigger, and wrong variable visibility in TemperatureComponent
* Added necessary code
Is something tragically wrong?
* MeleeWeapon damageType is not actually required
* Fixing someone else's mistakes
A search comes up with nothing in the yaml files, and its not a required field. So no one uses it? Hopefully?
* Changed and renamed damageTypeToDamageGroup
Previously would incorrectly return the total container damage for each group, not the total in the group
* renaming varitables
* Renamed variable DamageClasses
* Added dictionary converting functions
* Added ID-keyed dictionaries
* Making MedicalScanner use ID dictionaries, instead of prototype dictionaries
Oh oh no. I've been able to avoid UI & networking up until now. I have no Idea what I am doing.
* Fix Medical Scanner
* Summary (required)
The joke here is that this fixes the empty summary.
* Removed DamageableComponent.GetDamageGroup/Type
* Renamed "damage classes" to groups.
* Update ChangeDamage description
* Replaced Heal() with SettAllDamage()
Heal() was just a confusing name,
* More Class -> Group renaming
* Replace Class with Group in yaml files
DamageClassTrigger does not appear in any yaml? only in testing?
DamageTypeTrigger appears only in human.yaml?
HealthChangeMetabolism is Mostly in medicine.yml and one in soad.yaml
Why the hell is Cola metabolizable by plants? Who is pouring cola on their plants!?!?
* Fix _prototypeManager being null errors.
* Changing comments
Where are the prototype references
* MetabolismComponent doesn't give free heals anymore.
* Changes HungerComponent healing.
Previously I think it would actually damage you. Only did this as I though it was causing the fast healing. Turns out that was just BREATHING.
* Generalised a function in DamageableComponent and moved it to DamageGroupPrototype
previously DamageTypesDictToDamageGroupDict was private to DamageableComponent, but was also quite general (nearly a static function). As this sort of function may be needed by other components using DamageGroupPrototypes in the future, I moved it there as a static function instead.
* modified DamageableComponent.ChangeDamage()
ignoreResistances was renamed to ignoreDamageResistances to make it clearer that it had no effect on healing.
Now uses default argument for ignoreDamageResistances, so when healing you are not forced to specify an argument that does nothing.
Also made some general changes to ignoreResistances()
* Changed class->group and added missing damage type functionality to DamageContainerPrototypes
* Added Comments to damage.yml
* Misc Changes to DamageableComponent
* Differentiated between group support and group applicability
So far, every damage type is a member of one, and only one, damage group. So this change has no real effect so far.
* Added proposed alternative to ChangeDamage()
* fixed error in DamageGroupPrototype
* Changes to DamageableComponent
Lots of changes to comments.
Some variables renamed in IDamageableComponent and DamageableComponent (also required renaming in other files)
Some minor logic changes, mostly for incorrect descirptions of boolean return values.
Also further differentiating between ApplicableGroups and SupportedGroups... if that will ever even matter
* Generalised MedicalScannerComponent
If needed, can print miscellaneous damage types now
* Fixed HealthChangeMetabolism bug
* Changing Comments around
* More questions
* Made Barotrauma default to blunt
* Fix RejuvenateTest.cs
* Comments
* Coments and variable names
* fix some master-merge issues
* Removed redundant fields
* Misc changes for readbility of PR diff
* Consistent naming
* Fixed atmos damage bug
* Removed Ranting
* Fixed Hunger after I broke it
* Fixing Bugs
* Removed stupid question
* Removed more stupid questions
* Fix potential null errors.
* Made boolean return values consistent
Also renamed several functions, to make it clear they return a bool. Docs were also updated.
* Removed IoCManager.InjectDependencies()
* Removed unnecessary 'suffocation' prefix
* Fixed Spelling
Also removed accidentally left in logger call
* Fixed Medical Scanner
* Apply suggestions from code review
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Changing comments and whitespaces
* Made damage thresholds trigger datafields required
* So many typos
* Changes to DamageableComponents
Changed documentation in IDamageableComponent
Made testing code more readable.
Relabelled groups as 'Applicable' either 'Fully Supported'
* Removed function and degeneralised
* Update DamageableComponent.cs
Removed unused parameters
Fixed Networking
* Added IoCManager.Resolve
* Now using alternative TryChangeDamage()
* Removed function from DamageGroupPrototype
* Removing comments
* Remove bad if statement?
* Fix damageChanged ordering
* Fix hurt server command
* Changed //TODO PROTOTYPE blocks
Now use PrototypeManager differently. Wherever possible, only retrieve the prototype once.
Also added default damage types to some more datafields
* Update Content.Shared/Damage/Container/DamageContainerPrototype.cs
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* renamed _accumulatedHealth -> _accumulatedDamage and added TODOs
* Another class-> group
* Fix bug in generalisation of damage container prototypes
* Addes Tests to make sure I dont keep adding bugs to my own code.
* Changed Return values when setting
* Removed unused class
* Added more tests, split tests into three files
* Made damage types public and VV read-write-able
* Minor changes to DamageableComponent
Replaced internal use of GetDamagePerType with _damageDict and removed some unnecessary fields
* Fix Suicide, by adding IoC Resolve()
* Fix DamageGroupTrigger bug
* Fix typos in tests
* Change comments./docstrings & spacing
* Merge tests, use test prototypes
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* Fix merge issues
Co-authored-by: Silver <Silvertorch5@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+leonsfriedrich@users.noreply.github.com>