Commit Graph

52 Commits

Author SHA1 Message Date
Dev
3a301b02cc Handle when pscav kills a bot that doesnt have a json, default to 0 rep loss 2024-02-28 18:34:25 +00:00
Dev
51e1f7734e Add missing standing logging inside getFenceStandingChangeForKillAsScav() 2024-02-26 19:15:26 +00:00
Dev
87229cc58d Make killing a traitor scav give positive fence rep 2024-02-16 15:11:09 +00:00
Dev
2e3f624131 Update PMC encyclopedia post-raid
Update scav encyclopedia during generation to be pmc encyclopedia

Remove redundant return statements from function
2024-02-13 12:20:30 +00:00
Dev
456220767e Do not reduce scav rep after killing a traitor scav 2024-02-12 17:08:21 +00:00
Dev
da6244e1ac Improvements to calculateFenceStandingChangeFromKillsAsScav() - should properly handle additional rep loss when over 6 fence rep 2024-02-11 13:03:38 +00:00
Dev
b5639f481f More logging 2024-02-11 10:51:00 +00:00
Dev
1858fe5bd5 Fix pockets being lost on death 2024-02-10 23:28:36 +00:00
Azrael1123
7a4b27bbe1 Better fix for SPT-AKI/Issues#417 (!215)
[The wiki specifies](https://escapefromtarkov.fandom.com/wiki/Scavs#Scav_karma) that, between 6 and 8, Fence rep is reset to 6 before penalties are applied (i.e. killing someone at 7.5 rep leaves you at 5.9), but the current fix just subtracts a flat 1 reputation instead (i.e. a kill at 7.5 leaves you at 6.4)

this should change that.

Co-authored-by: Azrael <Azrael@noneofyourbusiness.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/215
Co-authored-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
Co-committed-by: Azrael1123 <azrael1123@noreply.dev.sp-tarkov.com>
2024-02-07 08:18:18 +00:00
Dev
c6de12e6f8 Rename variables/comments for clarity 2024-02-06 09:49:51 +00:00
Dev
a04a05996d Adjust calculateFenceStandingChangeFromKills() to take into account rep loss when fence rep between 6 and 8 or rep > 8 2024-02-05 14:44:31 +00:00
Refringe
69a1723646
Fixes Linting Issues
- Reorders imports
- Removes unnecessary `else` control statements
- Simplifies some logic
- Converts key access to dot notation
- Converts Array.forEach loops to for...of loops
2024-02-02 15:00:21 -05:00
Refringe
90492f3aa2
Formatting
Have you been using the recommended VSCode extensions? ;)
2024-02-02 15:00:21 -05:00
Dev
95dd27038d improve accuracy of daily quest system
Keep completed dailies inside "activeQuests" array until dailies are refreshed
Adjust post-raid quest handling to ensure previously completed/failed quests keep their original status
2024-01-31 14:38:18 +00:00
CZPZ
1551a5e793 feature: add probability for extra rep gain on pmc kills as pscav (!204)
Feel free to rename everything.

We can also use the new function from randomutil and replace code block below on InsuranceController.ts

```
        const maxRoll = 9999;
        const conversionFactor = 100;

        const returnChance = this.randomUtil.getInt(0, maxRoll) / conversionFactor;
        const traderReturnChance = this.insuranceConfig.returnChancePercent[traderId];
        const roll = returnChance >= traderReturnChance;
```

I killed 2 PMCs with 100% chance and gained 0.07 rep (rounding issue probably somewhere else)

![image](/attachments/00f00922-eb18-4fdc-8958-129b680af704)

Some JS problems :S

![image](/attachments/dcbeb1d1-2ee3-4809-890e-e19fe3190840)

Implements: https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/150
Co-authored-by: alimoncul <alimoncul@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/204
Co-authored-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
Co-committed-by: CZPZ <czpz@noreply.dev.sp-tarkov.com>
2024-01-21 17:39:37 +00:00
Dev
3979e6ef61 Add handling for quest failing while player is at menu 2024-01-05 15:27:28 +00:00
Dev
c5bb09cce5 Persist achievement data from client into server profile on raid end 2024-01-04 17:17:11 +00:00
Dev
c39e331423 Replace conditionCounters array with with TaskConditionCounters dictionary 2023-12-30 21:59:51 +00:00
Dev
eca799d606 Use correct dictionary for storing data in profile TaskConditionCounters instead of BackendCounters 2023-12-30 21:30:54 +00:00
Dev
9e55a52965 update quest objects and implement get achievemetns 2023-12-27 17:15:38 +00:00
Dev
8853159b55 Fix player offers being expired before checking if they were sold 2023-12-18 22:32:46 +00:00
Dev
950d17ef1d Add special slots to getPlayerGear() 2023-12-15 10:38:32 +00:00
Dev
ba1bdc9c5f Clean up comments for items removed post-raid 2023-12-15 10:36:26 +00:00
Dev
bdd9a4cd9b Improve handling of Lightkeeper quests
When LK gives a time-gated quest it was being saved into the profile with a status of `Locked`, meaning it would stay there forever.

Post raid:
Check post-raid for locked quests and update them to be `AvailableAfter` + assign the unlock time to `availableAfter`
Check for quests flagged as  `AvailableAfter` and have a  `availableAfter` timestamp before current time, change to `AvailableForStart`
2023-12-10 13:09:54 +00:00
Dev
12cb176a42 Potential fix for failed/repeatable quests keeping their subtask completed status 2023-12-02 00:10:25 +00:00
Dev
4057301953 Nullguard prior to saving quest data to scav profile 2023-11-24 19:18:29 +00:00
Dev
ddb9917c6b Rework of post-raid scav/pmc profile handling:
Moved logic out of `updateProfileBaseStats()` and into separate functions for pmc/scav, left profile-agnostic code alone
new functions `updatePmcProfileDataPostRaid` and `updateScavProfileDataPostRaid`

scav - Only copy active quest progress from client profile to server scav profile
scav - dont attempt to update trader standings, none exist on scav profile
scav - dont transfer psot-raid limb damage to server profile

Update quest status values similarly to PMC quests post raid to ensure they're consistent with existing quest data in profile
Simplifies `migrateScavQuestProgressToPmcProfile`

made various warnings debug instead
2023-11-20 16:33:04 +00:00
Dev
1abc7e3604 Handle failing a quest while raiding as scav 2023-11-20 11:19:11 +00:00
Refringe
4ac12ef70a Formatting/Linting Changes (!168)
These are the formatting & linting configuration changes from the `3.8.0` branch and the changes that they make to the overall project.

The majority of these changes are from running two commands:

`npm run lint:fix`
`npm run style:fix`

This has already been run on the `3.8.0` branch and this PR should make `master` play nicer when it comes to merges going forward.

There are now four VSCode plugins recommended for server development. They've been added to the workspace file and a user should get a UI notification when the workspace is opened if they're not installed.

The four plugins are:
https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig
https://marketplace.visualstudio.com/items?itemName=dprint.dprint
https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint
https://marketplace.visualstudio.com/items?itemName=biomejs.biome

Once installed they should just work within the workspace.

Also, be sure to `npm i` to get the new dprint application.

Co-authored-by: Refringe <brownelltyler@gmail.com>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/168
2023-11-16 21:42:06 +00:00
Dev
909d79f415 Remove unnecessary removeMapAccessKey() method, now handled in client 2023-11-14 17:34:44 +00:00
Dev
1f90ae0bb0 Add undefined check to updateProfileBaseStats() 2023-10-25 18:13:33 +01:00
TheSparta
7aee78eb49 Fixes Insured items on secured containers (!158)
This PR fixes both https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/174 and https://dev.sp-tarkov.com/SPT-AKI/Issues/issues/175.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/158
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-23 16:45:40 +00:00
TheSparta
418d9f2a8f Import path alias on the whole project (!157)
- Ability to use @spt-aki path alias on the whole project.
- Swapped all imports from relative paths, for imports using the path alias.

Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/157
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-committed-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
2023-10-19 17:21:17 +00:00
Dev
1adeed29ef Transfer ConditionCounter and quest status changes incurred during scav raid into pmc profile
Only add quests to scav profile when its a pickup/exploration/elimination quest
2023-10-17 22:04:19 +01:00
Dev
2f2e7c2e32 Variable rename to aid in readability 2023-10-11 10:47:54 +01:00
chomp
0b67a9a0e9 0.13.5.0 (!147)
Co-authored-by: Dev <dev@dev.sp-tarkov.com>
Co-authored-by: Terkoiz <terkoiz@noreply.dev.sp-tarkov.com>
Co-authored-by: TheSparta <thesparta@noreply.dev.sp-tarkov.com>
Co-authored-by: Refringe <refringe@noreply.dev.sp-tarkov.com>
Co-authored-by: Kaeno <e>
Reviewed-on: https://dev.sp-tarkov.com/SPT-AKI/Server/pulls/147
2023-10-10 11:03:20 +00:00
Dev
91ec0144ed Esxpose two endpoints for launcher to get mod-related data 2023-08-10 14:29:09 +01:00
Dev
dd26a94ede Nullguard against missing data from client 2023-08-07 19:42:23 +01:00
Dev
92c30dbe5d Add code to check BackendCounter values pre vs post-raid 2023-08-07 11:13:17 +01:00
Dev
0c37a76ff6 Improve processFailedQuests() handling of null parameter 2023-08-03 08:38:36 +01:00
Dev
6b8fadef40 Save trader standing changes post-raid 2023-07-30 11:30:31 +01:00
Dev
69f08d9f87 Improve comments 2023-07-25 21:14:18 +01:00
Dev
6e33a9c37e Add functionality to fail quests on server after failing them in-raid, fixes failing colleagues part 3 by completing sadist 2023-07-25 20:37:45 +01:00
Dev
9e056cf8f3 Handle failing quests post-raid if they are now failed and were not pre-raid 2023-07-25 19:50:46 +01:00
Dev
ad576a937a Comment improvements 2023-07-24 15:52:55 +01:00
Dev
7a1140c229 Extract coder into function from updateProfileBaseState + log nickname on game start 2023-07-15 11:03:54 +01:00
Dev
95fbd07473 Refactor addSpawnedInSessionPropertyToitems() 2023-04-22 18:36:34 +01:00
Dev
8c3924baab Refactor calculateFenceStandingChangeFromKills() 2023-04-22 16:41:00 +01:00
Dev
c45c9185a6 Refactor inRaidHelper.removeSpawnedInSessionProeprtyFromitems() 2023-04-22 16:30:57 +01:00
Dev
d6bb12a3a2 Refactor InRaidHelper.deleteInventory() 2023-04-22 16:27:46 +01:00