mirror of
https://github.com/simtactics/mysimulation.git
synced 2025-07-07 07:00:33 -04:00
Removed NioTSO client and server
- NioTSO client isn't needed because we're using RayLib - Added FreeSO's API server to handle most backend operations
This commit is contained in:
parent
f12ba1502b
commit
22191ce648
591 changed files with 53264 additions and 3362 deletions
47
server/FSO.Server.Database/DatabaseScripts/changes/0006_outfits.sql
Executable file
47
server/FSO.Server.Database/DatabaseScripts/changes/0006_outfits.sql
Executable file
|
@ -0,0 +1,47 @@
|
|||
CREATE TABLE IF NOT EXISTS `fso_outfits` (
|
||||
`outfit_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`avatar_owner` int(10) unsigned DEFAULT NULL,
|
||||
`object_owner` int(11) unsigned DEFAULT NULL,
|
||||
`asset_id` bigint(20) unsigned DEFAULT NULL,
|
||||
`sale_price` int(11) NOT NULL,
|
||||
`purchase_price` int(11) NOT NULL,
|
||||
`outfit_type` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT 'See VMPersonSuits',
|
||||
`outfit_source` enum('cas','rack') NOT NULL DEFAULT 'cas',
|
||||
PRIMARY KEY (`outfit_id`),
|
||||
KEY `FK_fso_outfits_fso_avatars` (`avatar_owner`),
|
||||
KEY `FK_fso_outfits_fso_objects` (`object_owner`),
|
||||
CONSTRAINT `FK_fso_outfits_fso_avatars` FOREIGN KEY (`avatar_owner`) REFERENCES `fso_avatars` (`avatar_id`) ON DELETE CASCADE,
|
||||
CONSTRAINT `FK_fso_outfits_fso_objects` FOREIGN KEY (`object_owner`) REFERENCES `fso_objects` (`object_id`) ON DELETE CASCADE
|
||||
)
|
||||
COLLATE='utf8_general_ci'
|
||||
ENGINE=InnoDB;
|
||||
|
||||
CREATE TRIGGER `fso_outfits_before_insert` BEFORE INSERT ON `fso_outfits` FOR EACH ROW BEGIN
|
||||
IF NEW.object_owner IS NOT NULL THEN
|
||||
IF (SELECT COUNT(*) FROM fso_outfits o WHERE NEW.object_owner = o.object_owner) >= 20 THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'Cannot have more than 20 outfits in a rack.';
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
CREATE TRIGGER `fso_outfits_before_update` BEFORE UPDATE ON `fso_outfits` FOR EACH ROW BEGIN
|
||||
IF NEW.avatar_owner IS NOT NULL THEN
|
||||
IF (SELECT COUNT(*) FROM fso_outfits o WHERE NEW.avatar_owner = o.avatar_owner AND o.outfit_type = NEW.outfit_type) >= 5 THEN
|
||||
SIGNAL SQLSTATE '45000'
|
||||
SET MESSAGE_TEXT = 'Cannot have more than 5 outfits per category in backpack.';
|
||||
END IF;
|
||||
END IF;
|
||||
END;
|
||||
|
||||
-- Migrate existing daywear --
|
||||
INSERT INTO fso_outfits (avatar_owner, asset_id, sale_price, purchase_price, outfit_type, outfit_source)
|
||||
SELECT avatar_id, body, 0, 0, 0, 'cas' FROM fso_avatars;
|
||||
|
||||
-- Give everyone default sleepswear --
|
||||
INSERT INTO fso_outfits (avatar_owner, asset_id, sale_price, purchase_price, outfit_type, outfit_source)
|
||||
SELECT avatar_id, if(gender = 'male', CAST(0x5440000000D as UNSIGNED), CAST(0x5150000000D as UNSIGNED)), 0, 0, 5, 'cas' FROM fso_avatars;
|
||||
|
||||
-- Give everyone default swimwear --
|
||||
INSERT INTO fso_outfits (avatar_owner, asset_id, sale_price, purchase_price, outfit_type, outfit_source)
|
||||
SELECT avatar_id, if(gender = 'male', CAST(0x5470000000D as UNSIGNED), CAST(0x620000000D as UNSIGNED)), 0, 0, 2, 'cas' FROM fso_avatars;
|
Loading…
Add table
Add a link
Reference in a new issue