Skip to content

pSWG Feature Tracking

Written: June 20, 2025 by pstraw
Tagged: #swg#dev
Updated July 6, 2025

Jump to Section:

Launcher

The pSWG electron 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

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

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

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