
pSWG Feature Tracking
Launcher
V1 Release
- Allows selection and changing of install directory
- Verifies files match with md5 hash
- Downloads files from web server
- Launches SWGEmu.exe
- Launches SWGEmu_Setup.exe
- Options to minimize to tray / minimize on play / disable background animiation
- Select between live and local servers
- And it’s pretty =]
QOL Changes
Quality of life changes that have been implemented
Enable JTL
✔️ Tested on Local
MMOCoreORB\bin\conf\config.lua
- Set JTL to enabled via config
Increase Storage Per Lot
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\building\BuildingObject.idl
MMOCoreORB\src\server\zone\objects\building\BuildingObjectImplementation.cpp
MMOCoreORB/src/server/zone/managers/structure/StructureManager.cpp
- Max player items increased to 5000
- Item storage increased to 300 per lot for player structures
- Item storage increased to 900 for civic structures
- Updated structure status to include max number of items allowed in structure
Show Resource Names on Resource Containers
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\resource\ResourceSpawnImplementation.cpp
- Added resource names to resource containers
Sampling and Harvester Rates Increased, Disable Sampling Mini-Game
✔️ Tested on Local
MMOCoreORB\src\server\zone\managers\resource\resourcespawner\ResourceSpawner.cpp
MMOCoreORB\src\server\zone\objects\tangible\deed\structure\StructureDeedImplementation.cpp
MMOCoreORB\src\server\zone\objects\player\sessions\survey\SurveySessionImplementation.cpp
- Hand sampling rates increased to 2x
- Harvester rates increased to 5x
- Disabled sampling mini-game
Vendor and Bazaar Sales
✔️ Tested on Local
MMOCoreORB\src\server\zone\managers\auction\AuctionManager.idl
- Increased expiration time to 1 year for vendor sales
- Increased expiration time to 30 days for bazaar sales
- Increased max bazaar price to 10 million
Crafting Tool Timers Reduced
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\player\sessions\crafting\CraftingSessionImplementation.cpp
- Crafting tools timers set to 1 second for prototype + practice
Factory Timers Reduced
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\installation\factory\FactoryObjectImplementation.cpp
- Factory time per object set to 1 second
Factory Crate Sizes Increased
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\factorycrate\FactoryCrate.idl
MMOCoreORB\src\templates\intangible\DraftSchematicObjectTemplate.cpp
MMOCoreORB\bin\scripts\object\draft_schematic\**\*.lua
- Factory crate max capacity set to 1000
- Note: this change spanned 400+ files (each draft schematic needed to be set)
Resource Container Size Increased
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\resource\ResourceContainer.idl
- Resource crate size increased to 10 million
Travel Waiting Times Removed
✔️ Tested on Local
MMOCoreORB\bin\scripts\managers\planet\planet_manager.lua
MMOCoreORB\src\server\zone\managers\planet\PlanetManagerImplementation.cpp
- Remove starport wait time
- Remove shuttleport wait time
Travel Boarding Range Increased
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\creature\commands\BoardShuttleCommand.h
- Increase boarding range of startports and shuttles
- Based on this infinity commit
Guild Sponsor Range Restriction Removed
✔️ Tested on Local
MMOCoreORB\src\server\zone\managers\guild\GuildManagerImplementation.cpp
MMOCoreORB\src\server\zone\objects\guild\sui\GuildSponsorVerifySuiCallback.h
- Removed range restriction for sponsoring players to join a guild
Group Invite Range Restriction Removed
✔️ Tested on Local
MMOCoreORB\bin\conf\config.lua
- Removed range restriction on group invites (can invite from anywhere/any planet)
Group Size Increased
⚠️ Partially tested on Local
MMOCoreORB\src\server\zone\managers\group\GroupManager.h
MMOCoreORB\src\server\zone\managers\group\GroupManager.cpp
- Increased group size to 50
- Include fixes from SR2
Group Mission Payouts
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\mission\MissionObjectiveImplementation.cpp
- Ensure group mission payouts are only split between players who are in-range
Destroy Missions Quantities and Titles
✔️ Tested on Local
MMOCoreORB\src\server\zone\managers\mission\MissionManagerImplementation.cpp
- Increase number of missions that can be taken to 5
- Increase number of missions shown on terminal to 18
- Changed names of destroy missions to show creature level and creature names
Destroy Mission Direction and Difficulty Choice
✔️ Tested on Local
MMOCoreORB\bin\scripts\screenplays\screenplays.lua
MMOCoreORB\bin\scripts\screenplays\custom_content\tools\mission_direction_choice.lua
MMOCoreORB\bin\scripts\screenplays\custom_content\tools\mission_level_choice.lua
MMOCoreORB\src\server\zone\objects\tangible\terminal\mission\MissionTerminalImplementation.cpp
MMOCoreORB\src\server\zone\managers\mission\MissionManagerImplementation.cpp
- Added direction choice to mission terminals for destroy missions
- Added level (difficulty) choice to mission terminals for destroy missions
Vehicle and Pet Call Timers Reduced, Allow In-Combat Storage
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\intangible\VehicleControlDeviceImplementation.cpp
MMOCoreORB\src\server\zone\objects\intangible\PetControlDeviceImplementation.cpp
- Call timers for Vehicles and Pets reduced to 5 seconds
- Vehicles and Pets can be stored while in combat
Entertainer Buff Duration, Tumble Speed, and Single Mastery
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\player\sessions\EntertainingSessionImplementation.cpp
- Increased entertainer buff duration to 3 hours
- Reduced cooldown on entertainer effects: entertainers can now tumble action
- Enabled all buffs for both dancer and musician: only 1 mastery needed
Enable Wipe Fill on Clone
✔️ Tested on Local
MMOCoreORB\bin\conf\config.lua
- Enable fill wipe on player clone
Bounty Hunter Mission Titles
✔️ Tested on Local
MMOCoreORB\src\server\zone\managers\mission\MissionManagerImplementation.cpp
- Changed names of BH Missions to show difficulty level and target name
Add Slice Choice to Weapon Slicing
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\player\sessions\SlicingSession.idl
MMOCoreORB\src\server\zone\objects\player\sessions\SlicingSessionImplementation.cpp
- Add option to choose between damage and speed slice on weapons (from Syndicate code)
Add Slice Choice to Armor Slicing
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\player\sessions\SlicingSession.idl
MMOCoreORB\src\server\zone\objects\player\sessions\SlicingSessionImplementation.cpp
- Add option to choose between effectiveness and encumbrance slice on armor (modified from Syndicate weapon slice choice code)
Update Attachments to have Skill Modifier Name
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\tangible\attachment\AttachmentImplementation.cpp
- Named attachments with AA/CA prefix and their first skill mod (ie. “[AA] Rescue + 12”)
- Thanks to this code from SR2
Enhanced Rotate
✔️ Tested on Local
MMOCoreORB\bin\conf\config.lua
- Set enhanced rotate to enabled via config
Global Bank
✔️ Tested on Local
MMOCoreORB\src\server\zone\objects\tangible\components\BankTerminalMenuComponent.h
- Enabled global bank
Consolidate City Specializations
⚠️ Partially tested on Local / Needs More Work
# Core3 Updates
MMOCoreORB/bin/scripts/managers/city_manager.lua
# TRE Updates
string/en/cmd_d.stf
string/en/cmd_n.stf
string/en/skl_d.stf
string/en/city/city.stf
- Add surveying, cloning, entertainer, and medical to all city specializations
- Consolodate city specializations:
- Logistics Hub (crafting experimentation & assembly)
- Expedition Frontier (mission payouts)
- Dynamic Garrison (defense)
- Needs improvements:
- remove default city specializations from city management terminal
- fix hardcoded specialization names in
CityRegionImplementation.cpp
Increase Vehicle Speeds
✔️ Tested on Local
# TRE Updates
object/mobile/vehicle/shared_landspeeder_x31.iff
object/mobile/vehicle/shared_landspeeder_x34.iff
object/mobile/vehicle/shared_speederbike.iff
object/mobile/vehicle/shared_speederbike_swoop.iff
object/mobile/vehicle/shared_landspeeder_av21.iff
object/mobile/vehicle/shared_jetpack.iff
- Increased vehicle speeds for X31, X34, Speederbike, Swoop, AV21, Jetpack
Prevent Wild Lairs From Spawning Immediately After Destruction Of Mission Layer
⚠️ Partially tested on Local
MMOCoreORB/src/server/zone/managers/creature/LairObserverImplementation.cpp
MMOCoreORB/src/server/zone/managers/planet/PlanetManager.idl
MMOCoreORB/src/server/zone/managers/planet/PlanetManagerImplementation.cpp
- Wild lairs should now wait 1 minute after mission layer is destroyed to spawn
- thanks to this SR2 commit
Fix Doctor Buffing (SR2)
✔️ Tested on Local
## pre-fix test
## 669 power health buff @ master doc (no tapes/no food)
# theed med center (no droid): 1339
# theed med center (with droid): 1339
# player city cantina (no droid): 1540
# player city cantina (with droid): 1540
## post-fix test
## 669 power health buff @ master doc (no tapes/no food)
# theed med center (no droid): 1339
# theed med center (with droid): 1473
# player city cantina (no droid): 1540
# player city cantina (with droid): 1674
MMOCoreORB\src\server\zone\objects\creature\commands\HealEnhanceCommand.h
MMOCoreORB\src\server\zone\objects\tangible\pharmaceutical\EnhancePackImplementation.cpp
MMOCoreORB\src\server\zone\objects\tangible\pharmaceutical\WoundPackImplementation.cpp
- Implement SR2 doctor buff fixes
Add Syndicate Buff Terminals
⚠️ Partially tested on Local
MMOCoreORB\bin\scripts\object\tangible\beta\beta_terminal_wound.lua
MMOCoreORB\bin\scripts\managers\planet\planet_manager.lua
MMOCoreORB\src\server\zone\managers\sui\SuiManager.cpp
MMOCoreORB\src\server\zone\objects\player\sui\characterbuilderbox\SuiCharacterBuilderBox.idl
- Implement Syndicate’s buff terminals with some minor modifications
- Note: CharacterBuilderEnabled = “true” must be set for this to work
TRE File Edits
Edits to TRE SWG file(s)
New Character Welcome Mail
string/en/newbie_tutorial/newbie_mail.stf
Skill Customizations
datatables/skill/skills.iff
- Entertainer, Dancer, Musician, Image Designer and Politician require 0 skill points
- Novice Artisan and Artisan Surveying Line require 0 skill points
- Merchant Boxes require 0 skill points (Artisan pre-requisite skills still require skill points)
Custom City Specialization Names / Politician Skill Descriptions
string/en/cmd_d.stf
string/en/cmd_n.stf
string/en/skl_d.stf
string/en/city/city.stf
Vehicle Speeds
object/mobile/vehicle/shared_landspeeder_x31.iff
object/mobile/vehicle/shared_landspeeder_x34.iff
object/mobile/vehicle/shared_speederbike.iff
object/mobile/vehicle/shared_speederbike_swoop.iff
object/mobile/vehicle/shared_landspeeder_av21.iff
object/mobile/vehicle/shared_jetpack.iff
Gameplay Updates
Updates and modifications to gameplay
Starting City Spawns Increased, Reduce Interest Area Spawner Start Delay
✔️ Tested on Local
MMOCoreORB\bin\scripts\screenplays\spawner\interest_area_spawner.lua
MMOCoreORB\bin\scripts\screenplays\spawner\corellia_city_spawners.lua
MMOCoreORB\bin\scripts\screenplays\spawner\tatooine_city_spawners.lua
- Reduced start delay for interest area spawners to 1 minute
- Greatly increased low-level spawns outside starting cities:
- Coronet
- Mos Eisley
Increase Creature Pet Mount Speeds
⚠️ Partially tested on Local
MMOCoreORB\bin\scripts\managers\pet_manager.lua
- Increased creature pet mount speeds, gallop speeds, and gallop cooldown
- Based on This aftermath change
Updated Attachment Rolls Over Level 150 (SR2)
❌ Untested on Local
MMOCoreORB\src\server\zone\objects\tangible\attachment\AttachmentImplementation.cpp
- Improve attachment rolls over level 150 (in place of purely random)
- 50% chance to cap max at 22
- 30% chance to cap at 23
- 20% chance to allow up to 25
- Taken from this SR2 commit
Adjusted Armor Break To Work On High-End Mobs
❌ Untested on Local
MMOCoreORB\src\server\zone\objects\creature\ai\AiAgentImplementation.cpp
- Taken from this SR2 commit
Krayt Loot, Spawn, and Resist Updates (SR2)
❌ Untested on Local
MMOCoreORB/bin/scripts/loot/items/creature/krayt_dragon_tissue_common.lua
MMOCoreORB/bin/scripts/loot/items/creature/krayt_dragon_tissue_rare.lua
MMOCoreORB/bin/scripts/loot/items/creature/krayt_dragon_tissue_uncommon.lua
MMOCoreORB/bin/scripts/mobile/tatooine/canyon_krayt_dragon.lua
MMOCoreORB/bin/scripts/mobile/tatooine/giant_canyon_krayt_dragon.lua
MMOCoreORB/bin/scripts/mobile/tatooine/juvenile_canyon_krayt_dragon.lua
MMOCoreORB/bin/scripts/mobile/tatooine/krayt_dragon_adolescent.lua
MMOCoreORB/bin/scripts/mobile/tatooine/krayt_dragon_ancient.lua
MMOCoreORB/bin/scripts/mobile/tatooine/krayt_dragon_grand.lua
MMOCoreORB/bin/scripts/screenplays/poi/tatooine_krayt_graveyard.lua
MMOCoreORB/bin/scripts/managers/planet/tatooine_regions.lua
- Taken from SR2 updates
Nightsister Loot Updates (SR2)
❌ Untested on Local
MMOCoreORB/bin/scripts/loot/items/npc/nightsister_vibro_unit.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dathomir/nightsister_tier_1.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dathomir/nightsister_tier_2.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dathomir/nightsister_tier_3.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dathomir/nightsister_tier_4.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dathomir/nightsister_tier_5.lua
- Taken from SR2 updates
Janta Loot Updates (SR2)
❌ Untested on Local
MMOCoreORB/bin/scripts/loot/items/npc/janta_blood.lua
MMOCoreORB/bin/scripts/loot/items/npc/janta_hides.lua
MMOCoreORB/bin/scripts/loot/items/weapon/knife_janta.lua
MMOCoreORB/bin/scripts/loot/items/weapon/polearm_staff_janta.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dantooine/janta_tribe_tier_1.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dantooine/janta_tribe_tier_2.lua
MMOCoreORB/bin/scripts/loot/groups/npc/dantooine/janta_tribe_tier_3.lua
- Taken from SR2 updates
Acklay Loot Updates (SR2)
❌ Untested on Local
MMOCoreORB\bin\scripts\loot\items\geonosian_lab\acklay_bones_rare.lua
MMOCoreORB\bin\scripts\loot\items\geonosian_lab\acklay_venom.lua
MMOCoreORB\bin\scripts\loot\groups\geonosian_lab\acklay.lua
MMOCoreORB\bin\scripts\mobile\dungeon\geonosian_bio_lab\acklay.lua
- Taken from SR2 updates
Backlog
List of Changes that still need to be implemented
- [QOL] Continue loot improvements/sync loot changes with SR2
- [Feature] Add NPCS: Galactic Wellfare Commission Agents (next to buff terminals)
Code References
Common code references, helpers & utilities
Resists Map
-- short form
resists = {kinetic, energy, blast, heat, cold, electricity, acid, stun, lightsaber}
-- long form
resists = {
kinetic,
energy,
blast,
heat,
cold,
electricity,
acid,
stun,
lightsaber
}
-- example (no resist, stun vuln, lightsaber vuln)
resists = {0,0,0,0,0,0,0,-1,-1}
Loot Table Weights
Loot table weights need to equal 10 million (10000000)
- more to come on this…Vincent said he would send over a write-up ♥️
Credits
Thanks to SWGEmu’s Core3 and all of the servers that made their code public