@@ -0,0 +1,198 @@
|
||||
@HealthBarFill = PatchStyle(Color: #e74c3c);
|
||||
@HealthBarBg = PatchStyle(Color: #2a1515);
|
||||
@StaminaBarFill = PatchStyle(Color: #2ecc71);
|
||||
@StaminaBarBg = PatchStyle(Color: #152a1c);
|
||||
@XpBarFill = PatchStyle(Color: #4a9eff);
|
||||
@XpBarBg = PatchStyle(Color: #152030);
|
||||
@VitalsPanelWidth = 260;
|
||||
@VitalsBarWidth = 244;
|
||||
@VitalsBarHeight = 16;
|
||||
@AbilitySlotSize = 68;
|
||||
@AbilityPanelPad = 3;
|
||||
@AbilityPanelWidth = @AbilitySlotSize + (@AbilityPanelPad * 2);
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Left: 16, Top: 16, Width: @VitalsPanelWidth);
|
||||
|
||||
Label #HeaderLabel {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: #f5c842);
|
||||
Text: "Nv.1 — Classe";
|
||||
Anchor: (Left: 0, Bottom: 8);
|
||||
}
|
||||
|
||||
Group #VitalsPanel {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: #0d0f14(0.92);
|
||||
Anchor: (Left: 0, Width: @VitalsPanelWidth, Bottom: 8);
|
||||
|
||||
Group #HealthRow {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Bottom: 6);
|
||||
|
||||
Label #HealthTitle {
|
||||
Style: (FontSize: 10, RenderBold: true, TextColor: #ff7b7b);
|
||||
Text: "Vie";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Group #HealthBarTrack {
|
||||
LayoutMode: Full;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
ProgressBar #HealthBar {
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
Bar: @HealthBarFill;
|
||||
Background: @HealthBarBg;
|
||||
Value: 1.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: CenterMiddle;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
Label #HealthValue {
|
||||
Style: (FontSize: 9, RenderBold: true, TextColor: #ffffff);
|
||||
Text: "0 / 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #StaminaRow {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Bottom: 6);
|
||||
|
||||
Label #StaminaTitle {
|
||||
Style: (FontSize: 10, RenderBold: true, TextColor: #7bdc9a);
|
||||
Text: "Endurance";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Group #StaminaBarTrack {
|
||||
LayoutMode: Full;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
ProgressBar #StaminaBar {
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
Bar: @StaminaBarFill;
|
||||
Background: @StaminaBarBg;
|
||||
Value: 1.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: CenterMiddle;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
Label #StaminaValue {
|
||||
Style: (FontSize: 9, RenderBold: true, TextColor: #ffffff);
|
||||
Text: "0 / 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #XpRow {
|
||||
LayoutMode: Top;
|
||||
|
||||
Label #XpTitle {
|
||||
Style: (FontSize: 10, RenderBold: true, TextColor: #8eb6ff);
|
||||
Text: "Expérience";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Group #XpBarTrack {
|
||||
LayoutMode: Full;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
ProgressBar #XpBar {
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
Bar: @XpBarFill;
|
||||
Background: @XpBarBg;
|
||||
Value: 0.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: CenterMiddle;
|
||||
Anchor: (Width: @VitalsBarWidth, Height: @VitalsBarHeight);
|
||||
|
||||
Label #XpValue {
|
||||
Style: (FontSize: 9, RenderBold: true, TextColor: #ffffff);
|
||||
Text: "0 / 0";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label #BarTitle {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: #f5c842);
|
||||
Text: "CAPACITÉS";
|
||||
Anchor: (Left: 0, Bottom: 4);
|
||||
}
|
||||
|
||||
Group #AbilityBarPanel {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: @AbilityPanelPad);
|
||||
Background: #0d0f14(0.92);
|
||||
Anchor: (Left: 0, Width: @AbilityPanelWidth);
|
||||
|
||||
Group #AbilitySlot1 {
|
||||
Anchor: (Width: @AbilitySlotSize, Height: @AbilitySlotSize, Bottom: 5);
|
||||
Background: #2a3140;
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 4);
|
||||
|
||||
Label #Slot1Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: #f5c842);
|
||||
Text: "[Q]";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #Slot1Name {
|
||||
Style: (FontSize: 10, TextColor: #ffffff, Wrap: true);
|
||||
Text: "Capacité 1";
|
||||
}
|
||||
}
|
||||
|
||||
Group #AbilitySlot2 {
|
||||
Anchor: (Width: @AbilitySlotSize, Height: @AbilitySlotSize, Bottom: 5);
|
||||
Background: #2a3140;
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 4);
|
||||
|
||||
Label #Slot2Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: #f5c842);
|
||||
Text: "[E]";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #Slot2Name {
|
||||
Style: (FontSize: 10, TextColor: #ffffff, Wrap: true);
|
||||
Text: "Capacité 2";
|
||||
}
|
||||
}
|
||||
|
||||
Group #AbilitySlot3 {
|
||||
Anchor: (Width: @AbilitySlotSize, Height: @AbilitySlotSize);
|
||||
Background: #2a3140;
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 4);
|
||||
|
||||
Label #Slot3Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: #f5c842);
|
||||
Text: "[R]";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #Slot3Name {
|
||||
Style: (FontSize: 10, TextColor: #ffffff, Wrap: true);
|
||||
Text: "Capacité 3";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+206
@@ -0,0 +1,206 @@
|
||||
@MmorpgAccent = #f5c842;
|
||||
@MmorpgText = #e8e8ec;
|
||||
@MmorpgMuted = #878e9c;
|
||||
@MmorpgBorder = #3a3f4a;
|
||||
@HealthFill = PatchStyle(Color: #e74c3c);
|
||||
@HealthBg = PatchStyle(Color: #2a1515);
|
||||
@StaminaFill = PatchStyle(Color: #2ecc71);
|
||||
@StaminaBg = PatchStyle(Color: #152a1c);
|
||||
@XpFill = PatchStyle(Color: #4a9eff);
|
||||
@XpBg = PatchStyle(Color: #152030);
|
||||
|
||||
Group {
|
||||
LayoutMode: Left;
|
||||
|
||||
Group #LeftColumn {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: 400, Right: 16);
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "IDENTITÉ";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #IdentityName {
|
||||
Style: (FontSize: 18, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Joueur";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #RaceLabel {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgText);
|
||||
Text: "Race : Humain";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #ClassLabel {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgText);
|
||||
Text: "Classe : —";
|
||||
Anchor: (Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "PROGRESSION";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #XpValue {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgText);
|
||||
Text: "0 / 100 XP";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
ProgressBar #XpBar {
|
||||
Anchor: (Width: 360, Height: 14, Bottom: 10);
|
||||
Bar: @XpFill;
|
||||
Background: @XpBg;
|
||||
Value: 0.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "VITALITÉ";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #HealthValue {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgText);
|
||||
Text: "Vie : —";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
ProgressBar #HealthBar {
|
||||
Anchor: (Width: 360, Height: 12, Bottom: 6);
|
||||
Bar: @HealthFill;
|
||||
Background: @HealthBg;
|
||||
Value: 1.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Label #StaminaValue {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgText);
|
||||
Text: "Endurance : —";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
ProgressBar #StaminaBar {
|
||||
Anchor: (Width: 360, Height: 12, Bottom: 10);
|
||||
Bar: @StaminaFill;
|
||||
Background: @StaminaBg;
|
||||
Value: 1.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "ATTRIBUTS";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: Left;
|
||||
Anchor: (Bottom: 4);
|
||||
|
||||
Label #StatStr {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "FOR 10";
|
||||
Padding: (Horizontal: 10, Vertical: 4);
|
||||
Background: #2a3140;
|
||||
Anchor: (Right: 6);
|
||||
}
|
||||
|
||||
Label #StatAgi {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "AGI 10";
|
||||
Padding: (Horizontal: 10, Vertical: 4);
|
||||
Background: #2a3140;
|
||||
Anchor: (Right: 6);
|
||||
}
|
||||
|
||||
Label #StatInt {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "INT 10";
|
||||
Padding: (Horizontal: 10, Vertical: 4);
|
||||
Background: #2a3140;
|
||||
}
|
||||
}
|
||||
|
||||
Label #StatsHint {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "Attributs dérivés du niveau (système M1 à venir)";
|
||||
}
|
||||
}
|
||||
|
||||
Group #RightColumn {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "POUVOIRS PASSIFS";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #PowersList {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText, Wrap: true);
|
||||
Text: "Aucun";
|
||||
Anchor: (Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "MÉTIERS";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #JobsList {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText, Wrap: true);
|
||||
Text: "Aucun";
|
||||
Anchor: (Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "SOCIAL";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #GroupLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Groupe : Aucun";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #GuildLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Guilde : Aucune";
|
||||
Anchor: (Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "STATISTIQUES";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #PlayTimeLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Temps de jeu : 0 min";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #LastLoginLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Dernière connexion : —";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #CreatedLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Création : —";
|
||||
}
|
||||
}
|
||||
}
|
||||
+260
@@ -0,0 +1,260 @@
|
||||
@MmorpgBg = #0d0f14(0.96);
|
||||
@MmorpgPanel = #1a1c20;
|
||||
@MmorpgAccent = #f5c842;
|
||||
@MmorpgText = #e8e8ec;
|
||||
@MmorpgMuted = #878e9c;
|
||||
@MmorpgBorder = #3a3f4a;
|
||||
|
||||
@SlotSize = 52;
|
||||
@SlotGap = 4;
|
||||
@SlotColWidth = @SlotSize + @SlotGap;
|
||||
@SlotRowHeight = @SlotSize + @SlotGap;
|
||||
@StorageGridWidth = (@SlotColWidth * 9) - @SlotGap;
|
||||
@StorageGridHeight = (@SlotRowHeight * 4) - @SlotGap;
|
||||
@HotbarWidth = (@SlotColWidth * 9) - @SlotGap;
|
||||
@ColumnHeight = (@SlotRowHeight * 4) - @SlotGap;
|
||||
|
||||
@ShellWidth = 920;
|
||||
@ShellHeight = 660;
|
||||
|
||||
Group {
|
||||
LayoutMode: Center;
|
||||
|
||||
Group #MmorpgShell {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @ShellWidth, Height: @ShellHeight);
|
||||
Background: @MmorpgBg;
|
||||
Padding: (Full: 16);
|
||||
|
||||
Group #Header {
|
||||
LayoutMode: Left;
|
||||
Anchor: (Bottom: 12);
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
|
||||
Label #PlayerName {
|
||||
Style: (FontSize: 20, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Joueur";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #ClassLabel {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgText);
|
||||
Text: "Classe";
|
||||
}
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Right: 24);
|
||||
|
||||
Label #LevelLabel {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: @MmorpgText);
|
||||
Text: "Nv. 1";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #MoneyLabel {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgAccent);
|
||||
Text: "0 pièces";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabBar {
|
||||
LayoutMode: Left;
|
||||
Padding: (Bottom: 10);
|
||||
Anchor: (Bottom: 8);
|
||||
|
||||
Group #TabCharacterWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabCharacter {
|
||||
Text: "Personnage";
|
||||
}
|
||||
|
||||
Group #TabCharacterIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabInventoryWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabInventory {
|
||||
Text: "Inventaire";
|
||||
}
|
||||
|
||||
Group #TabInventoryIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabSkillsWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabSkills {
|
||||
Text: "Compétences";
|
||||
}
|
||||
|
||||
Group #TabSkillsIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabContent {
|
||||
LayoutMode: Left;
|
||||
FlexWeight: 1;
|
||||
|
||||
Group #EquipmentPanel {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: 88, Right: 12);
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "ARMURE";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #ArmorSummary {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "Armure : 0 / 4";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group #ArmorSlots {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @SlotSize, Height: @ColumnHeight, Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "UTILITAIRE";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #UtilitySummary {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "Utilitaire : 0 / 4";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group #UtilitySlots {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @SlotSize, Height: @ColumnHeight);
|
||||
}
|
||||
}
|
||||
|
||||
Group #InventoryCenter {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label #StorageSummary {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Sac : 0 / 36";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group #StorageSlots {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @StorageGridWidth, Height: @StorageGridHeight, Bottom: 10);
|
||||
}
|
||||
|
||||
Label #HotbarSummary {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Barre rapide : 0 / 9";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group #HotbarSlots {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @HotbarWidth, Height: @SlotSize);
|
||||
}
|
||||
}
|
||||
|
||||
Group #ItemDetails {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: 260, Left: 12);
|
||||
Padding: (Full: 10);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "DÉTAILS";
|
||||
Anchor: (Bottom: 8);
|
||||
}
|
||||
|
||||
Label #ItemName {
|
||||
Style: (FontSize: 15, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Aucun objet";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #ItemRarity {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted);
|
||||
Text: "Sélectionnez un emplacement";
|
||||
Anchor: (Bottom: 8);
|
||||
}
|
||||
|
||||
Label #ItemDescription {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText, Wrap: true);
|
||||
Text: "Cliquez un objet pour afficher ses informations.";
|
||||
Anchor: (Bottom: 12);
|
||||
}
|
||||
|
||||
Group #WeightTrack {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Bottom: 4);
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Remplissage du sac";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
ProgressBar #WeightBar {
|
||||
Anchor: (Width: 220, Height: 10);
|
||||
Bar: PatchStyle(Color: @MmorpgAccent);
|
||||
Background: PatchStyle(Color: @MmorpgBorder);
|
||||
Value: 0.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Label #WeightValue {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "0 piles";
|
||||
Anchor: (Top: 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label #FooterHint {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted);
|
||||
Text: "Échap pour fermer — clic source puis destination pour déplacer, survol pour les détails";
|
||||
Anchor: (Top: 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
@MmorpgPanel = #1a1c20;
|
||||
@MmorpgAccent = #f5c842;
|
||||
@MmorpgText = #e8e8ec;
|
||||
@MmorpgMuted = #878e9c;
|
||||
@MmorpgBorder = #3a3f4a;
|
||||
|
||||
@GridStyle = ItemGridStyle(
|
||||
SlotSpacing: 4,
|
||||
SlotSize: 52,
|
||||
SlotIconSize: 44
|
||||
);
|
||||
|
||||
Group {
|
||||
LayoutMode: Left;
|
||||
|
||||
Group #EquipmentPanel {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: 88, Right: 12);
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "ARMURE";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #ArmorSummary {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "Armure : 0 / 4";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
ItemGrid #ArmorGrid {
|
||||
Anchor: (Width: 56, Height: 232, Bottom: 10);
|
||||
SlotsPerRow: 1;
|
||||
InventorySectionId: -3;
|
||||
AreItemsDraggable: true;
|
||||
DisplayItemQuantity: true;
|
||||
RenderItemQualityBackground: true;
|
||||
Style: @GridStyle;
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "UTILITAIRE";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #UtilitySummary {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "Utilitaire : 0 / 4";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
ItemGrid #UtilityGrid {
|
||||
Anchor: (Width: 56, Height: 232);
|
||||
SlotsPerRow: 1;
|
||||
InventorySectionId: -5;
|
||||
AreItemsDraggable: true;
|
||||
DisplayItemQuantity: true;
|
||||
RenderItemQualityBackground: true;
|
||||
Style: @GridStyle;
|
||||
}
|
||||
}
|
||||
|
||||
Group #InventoryCenter {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label #StorageSummary {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Sac : 0 / 36";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
ItemGrid #StorageGrid {
|
||||
Anchor: (Width: 500, Height: 232, Bottom: 10);
|
||||
SlotsPerRow: 9;
|
||||
InventorySectionId: -2;
|
||||
AreItemsDraggable: true;
|
||||
DisplayItemQuantity: true;
|
||||
RenderItemQualityBackground: true;
|
||||
Style: @GridStyle;
|
||||
}
|
||||
|
||||
Label #HotbarSummary {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Barre rapide : 0 / 9";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
ItemGrid #HotbarGrid {
|
||||
Anchor: (Width: 500, Height: 60);
|
||||
SlotsPerRow: 9;
|
||||
InventorySectionId: -1;
|
||||
AreItemsDraggable: true;
|
||||
DisplayItemQuantity: true;
|
||||
RenderItemQualityBackground: true;
|
||||
Style: @GridStyle;
|
||||
}
|
||||
}
|
||||
|
||||
Group #ItemDetails {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: 260, Left: 12);
|
||||
Padding: (Full: 10);
|
||||
Background: @MmorpgPanel;
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "DÉTAILS";
|
||||
Anchor: (Bottom: 8);
|
||||
}
|
||||
|
||||
Label #ItemName {
|
||||
Style: (FontSize: 15, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Aucun objet";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #ItemRarity {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted);
|
||||
Text: "Sélectionnez un emplacement";
|
||||
Anchor: (Bottom: 8);
|
||||
}
|
||||
|
||||
Label #ItemDescription {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText, Wrap: true);
|
||||
Text: "Cliquez un objet pour afficher ses informations.";
|
||||
Anchor: (Bottom: 12);
|
||||
}
|
||||
|
||||
Group #WeightTrack {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Bottom: 4);
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Remplissage du sac";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
ProgressBar #WeightBar {
|
||||
Anchor: (Width: 220, Height: 10);
|
||||
Bar: PatchStyle(Color: @MmorpgAccent);
|
||||
Background: PatchStyle(Color: @MmorpgBorder);
|
||||
Value: 0.0;
|
||||
Direction: End;
|
||||
}
|
||||
|
||||
Label #WeightValue {
|
||||
Style: (FontSize: 9, TextColor: @MmorpgMuted);
|
||||
Text: "0 piles";
|
||||
Anchor: (Top: 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
$C = "../Common.ui";
|
||||
|
||||
$C.@PageOverlay {}
|
||||
|
||||
$C.@Container {
|
||||
Anchor: (Width: 600, Height: 700);
|
||||
|
||||
#Title {
|
||||
Group {
|
||||
$C.@Title {
|
||||
@Text = %server.customUI.warpListPage.warps;
|
||||
}
|
||||
|
||||
$C.@HeaderSearch {}
|
||||
}
|
||||
}
|
||||
|
||||
#Content {
|
||||
LayoutMode: Left;
|
||||
|
||||
Group #ProfileList {
|
||||
FlexWeight: 1;
|
||||
LayoutMode: TopScrolling;
|
||||
ScrollbarStyle: $C.@DefaultScrollbarStyle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$C.@BackButton {}
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
@MmorpgBg = #0d0f14(0.96);
|
||||
@MmorpgPanel = #1a1c20;
|
||||
@MmorpgAccent = #f5c842;
|
||||
@MmorpgText = #e8e8ec;
|
||||
@MmorpgMuted = #878e9c;
|
||||
|
||||
@ShellWidth = 920;
|
||||
@ShellHeight = 660;
|
||||
|
||||
Group {
|
||||
LayoutMode: Center;
|
||||
|
||||
Group #MmorpgShell {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Width: @ShellWidth, Height: @ShellHeight);
|
||||
Background: @MmorpgBg;
|
||||
Padding: (Full: 16);
|
||||
|
||||
Group #Header {
|
||||
LayoutMode: Left;
|
||||
Anchor: (Bottom: 12);
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
|
||||
Label #PlayerName {
|
||||
Style: (FontSize: 20, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Joueur";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #HeaderSubtitle {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgText);
|
||||
Text: "Profil MMORPG";
|
||||
}
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
Anchor: (Right: 24);
|
||||
|
||||
Label #LevelLabel {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: @MmorpgText);
|
||||
Text: "Nv. 1";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #MoneyLabel {
|
||||
Style: (FontSize: 13, TextColor: @MmorpgAccent);
|
||||
Text: "0 pièces";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabBar {
|
||||
LayoutMode: Left;
|
||||
Padding: (Bottom: 10);
|
||||
Anchor: (Bottom: 8);
|
||||
|
||||
Group #TabCharacterWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabCharacter {
|
||||
Text: "Personnage";
|
||||
}
|
||||
|
||||
Group #TabCharacterIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabInventoryWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabInventory {
|
||||
Text: "Inventaire";
|
||||
}
|
||||
|
||||
Group #TabInventoryIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabSkillsWrap {
|
||||
LayoutMode: Top;
|
||||
Padding: (Horizontal: 12, Vertical: 4);
|
||||
Anchor: (Right: 6);
|
||||
Background: PatchStyle(Color: #00000000);
|
||||
|
||||
TextButton #TabSkills {
|
||||
Text: "Compétences";
|
||||
}
|
||||
|
||||
Group #TabSkillsIndicator {
|
||||
Anchor: (Height: 2, Top: 4);
|
||||
Background: PatchStyle(Color: @MmorpgAccent);
|
||||
Visible: false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Group #TabContent {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
|
||||
Group #DynamicTabHost {
|
||||
LayoutMode: Top;
|
||||
FlexWeight: 1;
|
||||
Background: @MmorpgPanel;
|
||||
Padding: (Full: 10);
|
||||
}
|
||||
}
|
||||
|
||||
Label #FooterHint {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted);
|
||||
Text: "Échap pour fermer";
|
||||
Anchor: (Top: 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
@MmorpgAccent = #f5c842;
|
||||
@MmorpgText = #e8e8ec;
|
||||
@MmorpgMuted = #878e9c;
|
||||
@MmorpgSlot = #2a3140;
|
||||
@MmorpgLocked = #1e2228;
|
||||
|
||||
Group {
|
||||
LayoutMode: Top;
|
||||
|
||||
Label #ClassTitle {
|
||||
Style: (FontSize: 16, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "Classe";
|
||||
Anchor: (Bottom: 2);
|
||||
}
|
||||
|
||||
Label #WeaponsLabel {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted);
|
||||
Text: "Armes : —";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #PointsLabel {
|
||||
Style: (FontSize: 12, TextColor: @MmorpgText);
|
||||
Text: "Points de compétence : 0";
|
||||
Anchor: (Bottom: 10);
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "CAPACITÉS DE CLASSE";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: Left;
|
||||
Anchor: (Bottom: 14);
|
||||
|
||||
Group #AbilityPanel1 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgSlot;
|
||||
Anchor: (Width: 250, Right: 10);
|
||||
|
||||
Label #Ability1Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "[Q]";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability1Name {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: @MmorpgText);
|
||||
Text: "Capacité 1";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability1Cooldown {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Prêt";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #Ability1Desc {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted, Wrap: true);
|
||||
Text: "—";
|
||||
}
|
||||
}
|
||||
|
||||
Group #AbilityPanel2 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgSlot;
|
||||
Anchor: (Width: 250, Right: 10);
|
||||
|
||||
Label #Ability2Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "[E]";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability2Name {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: @MmorpgText);
|
||||
Text: "Capacité 2";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability2Cooldown {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Prêt";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #Ability2Desc {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted, Wrap: true);
|
||||
Text: "—";
|
||||
}
|
||||
}
|
||||
|
||||
Group #AbilityPanel3 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgSlot;
|
||||
Anchor: (Width: 250);
|
||||
|
||||
Label #Ability3Key {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgAccent);
|
||||
Text: "[R]";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability3Name {
|
||||
Style: (FontSize: 14, RenderBold: true, TextColor: @MmorpgText);
|
||||
Text: "Capacité 3";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Ability3Cooldown {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Prêt";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Label #Ability3Desc {
|
||||
Style: (FontSize: 11, TextColor: @MmorpgMuted, Wrap: true);
|
||||
Text: "—";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
Style: (FontSize: 11, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "BRANCHES DE COMPÉTENCES";
|
||||
Anchor: (Bottom: 6);
|
||||
}
|
||||
|
||||
Group {
|
||||
LayoutMode: Left;
|
||||
Anchor: (Bottom: 8);
|
||||
|
||||
Group #Branch1 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgLocked;
|
||||
Anchor: (Width: 180, Right: 10);
|
||||
|
||||
Label #Branch1Title {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "Offensive";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Branch1Status {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Verrouillé — M1";
|
||||
}
|
||||
}
|
||||
|
||||
Group #Branch2 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgLocked;
|
||||
Anchor: (Width: 180, Right: 10);
|
||||
|
||||
Label #Branch2Title {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "Défensive";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Branch2Status {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Verrouillé — M1";
|
||||
}
|
||||
}
|
||||
|
||||
Group #Branch3 {
|
||||
LayoutMode: Top;
|
||||
Padding: (Full: 8);
|
||||
Background: @MmorpgLocked;
|
||||
Anchor: (Width: 180);
|
||||
|
||||
Label #Branch3Title {
|
||||
Style: (FontSize: 12, RenderBold: true, TextColor: @MmorpgMuted);
|
||||
Text: "Utilitaire";
|
||||
Anchor: (Bottom: 4);
|
||||
}
|
||||
|
||||
Label #Branch3Status {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted);
|
||||
Text: "Verrouillé — M1";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label #SkillsHint {
|
||||
Style: (FontSize: 10, TextColor: @MmorpgMuted, Wrap: true);
|
||||
Text: "Utilisez [Q] [E] [R] (Use Ability 1/2/3) en jeu. L'arbre de talents complet arrive en M1.";
|
||||
}
|
||||
}
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"Parent": "Template_Weapon_Battleaxe",
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Battleaxe_Mithril.name"
|
||||
},
|
||||
"Model": "Items/Weapons/Battleaxe/Mithril.blockymodel",
|
||||
"Texture": "Items/Weapons/Battleaxe/Mithril_Texture.png",
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Battleaxe_Mithril.png",
|
||||
"Recipe": {
|
||||
"TimeSeconds": 5,
|
||||
"KnowledgeRequired": false,
|
||||
"Input": [
|
||||
{
|
||||
"ItemId": "Ingredient_Bar_Mithril",
|
||||
"Quantity": 10
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Leather_Storm",
|
||||
"Quantity": 4
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Voidheart",
|
||||
"Quantity": 1
|
||||
}
|
||||
],
|
||||
"BenchRequirement": [
|
||||
{
|
||||
"Type": "Crafting",
|
||||
"Categories": [
|
||||
"Weapon_Battleaxe"
|
||||
],
|
||||
"Id": "Weapon_Bench",
|
||||
"RequiredTierLevel": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Quality": "Epic",
|
||||
"ItemLevel": 50,
|
||||
"InteractionVars": {
|
||||
"Swing_Down_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Primary_Swing_Down_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 73
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Battleaxe_T2_Impact",
|
||||
"LocalSoundEventId": "SFX_Battleaxe_T2_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Swing_Down_Left_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Primary_Swing_Down_Left_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 36
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Battleaxe_T2_Impact",
|
||||
"LocalSoundEventId": "SFX_Battleaxe_T2_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Swing_Down_Right_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Primary_Swing_Down_Right_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 44
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Battleaxe_T2_Impact",
|
||||
"LocalSoundEventId": "SFX_Battleaxe_T2_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Downstrike_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Primary_Downstrike_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 57
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [
|
||||
{
|
||||
"EntityStatId": "SignatureEnergy",
|
||||
"Amount": 2
|
||||
}
|
||||
],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Battleaxe_T2_Impact",
|
||||
"LocalSoundEventId": "SFX_Battleaxe_T2_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Signature_Whirlwind_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Signature_Whirlwind_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 29
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Battleaxe_T2_Impact",
|
||||
"LocalSoundEventId": "SFX_Battleaxe_T2_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Guard_Wield": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Battleaxe_Secondary_Guard_Wield",
|
||||
"StaminaCost": {
|
||||
"Value": 20,
|
||||
"CostType": "Damage"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"MaxDurability": 220,
|
||||
"DurabilityLossOnHit": 0.45,
|
||||
"Interactions": {
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+88
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"Parent": "Template_Weapon_Crossbow",
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Crossbow_Ancient_Steel.name"
|
||||
},
|
||||
"Model": "Items/Weapons/Crossbow/Iron.blockymodel",
|
||||
"Texture": "Items/Weapons/Crossbow/Iron_Rusty_Texture.png",
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Crossbow_Iron_Rusty.png",
|
||||
"Quality": "Rare",
|
||||
"ItemLevel": 30,
|
||||
"InteractionVars": {
|
||||
"Standard_Projectile_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Crossbow_Damage_Standard_Projectile",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 16
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Combo_Projectile_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Crossbow_Damage_Combo_Projectile",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 42
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Signature_BigArrow_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Crossbow_Damage_Signature_Projectile",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 123
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Guard_Wield": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Crossbow_Secondary_Guard_Wield",
|
||||
"StaminaCost": {
|
||||
"Value": 15.56,
|
||||
"CostType": "Damage"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"MaxDurability": 180,
|
||||
"DurabilityLossOnHit": 0.28,
|
||||
"Interactions": {
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+463
@@ -0,0 +1,463 @@
|
||||
{
|
||||
"Parent": "Template_Weapon_Daggers",
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Daggers_Mithril.name"
|
||||
},
|
||||
"Model": "Items/Weapons/Dagger/Mithril.blockymodel",
|
||||
"Texture": "Items/Weapons/Dagger/Mithril_Texture.png",
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Daggers_Mithril.png",
|
||||
"Recipe": {
|
||||
"TimeSeconds": 5,
|
||||
"KnowledgeRequired": false,
|
||||
"Input": [
|
||||
{
|
||||
"ItemId": "Ingredient_Bar_Mithril",
|
||||
"Quantity": 10
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Leather_Storm",
|
||||
"Quantity": 3
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Voidheart",
|
||||
"Quantity": 1
|
||||
}
|
||||
],
|
||||
"BenchRequirement": [
|
||||
{
|
||||
"Type": "Crafting",
|
||||
"Categories": [
|
||||
"Weapon_Daggers"
|
||||
],
|
||||
"Id": "Weapon_Bench",
|
||||
"RequiredTierLevel": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"Quality": "Epic",
|
||||
"ItemLevel": 50,
|
||||
"InteractionVars": {
|
||||
"Swing_Left_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Swing_Left_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 8
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"Swing_Right_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Swing_Right_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 8
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"Stab_Left_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Stab_Left_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 15
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Stab_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Stab_Impact"
|
||||
},
|
||||
"AngledDamage": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"Stab_Right_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Stab_Right_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 25
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Stab_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Stab_Impact"
|
||||
},
|
||||
"AngledDamage": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"Pounce_Sweep_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Pounce_Sweep_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 61
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [
|
||||
{
|
||||
"EntityStatId": "SignatureEnergy",
|
||||
"Amount": 1
|
||||
}
|
||||
],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": [
|
||||
{
|
||||
"Angle": 180,
|
||||
"AngleDistance": 80,
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Direction": {
|
||||
"X": 0,
|
||||
"Y": 2,
|
||||
"Z": -3
|
||||
},
|
||||
"Type": "Force",
|
||||
"Force": 6,
|
||||
"VelocityType": "Set",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
}
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 92
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Pounce_Stab_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Primary_Pounce_Stab_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 76
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [
|
||||
{
|
||||
"EntityStatId": "SignatureEnergy",
|
||||
"Amount": 6
|
||||
}
|
||||
],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Stab_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Stab_Impact"
|
||||
},
|
||||
"AngledDamage": [
|
||||
{
|
||||
"Angle": 180,
|
||||
"AngleDistance": 80,
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Direction": {
|
||||
"X": 0,
|
||||
"Y": 1,
|
||||
"Z": -2
|
||||
},
|
||||
"Type": "Force",
|
||||
"Force": 5,
|
||||
"VelocityType": "Set",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
}
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Stab_Impact",
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Stab_Impact"
|
||||
},
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 114
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Razorstrike_Slash_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Signature_Razorstrike_Slash_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 49
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": [
|
||||
{
|
||||
"Angle": 180,
|
||||
"AngleDistance": 80,
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Direction": {
|
||||
"X": 0,
|
||||
"Y": 1,
|
||||
"Z": -2
|
||||
},
|
||||
"Type": "Force",
|
||||
"Force": 7,
|
||||
"VelocityType": "Add",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
}
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 74
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Razorstrike_Sweep_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Signature_Razorstrike_Sweep_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 61
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": [
|
||||
{
|
||||
"Angle": 180,
|
||||
"AngleDistance": 80,
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Direction": {
|
||||
"X": 0,
|
||||
"Y": 1,
|
||||
"Z": -1
|
||||
},
|
||||
"Type": "Force",
|
||||
"Force": 7,
|
||||
"VelocityType": "Add",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
}
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 92
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Razorstrike_Lunge_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Signature_Razorstrike_Lunge_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 73
|
||||
}
|
||||
},
|
||||
"EntityStatsOnHit": [],
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"AngledDamage": [
|
||||
{
|
||||
"Angle": 180,
|
||||
"AngleDistance": 80,
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Direction": {
|
||||
"X": 0,
|
||||
"Y": 2,
|
||||
"Z": -3
|
||||
},
|
||||
"Type": "Force",
|
||||
"Force": 12,
|
||||
"VelocityType": "Set",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
}
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"LocalSoundEventId": "SFX_Daggers_T2_Slash_Impact",
|
||||
"WorldSoundEventId": "SFX_Daggers_T2_Slash_Impact"
|
||||
},
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 110
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"Guard_Wield": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Daggers_Secondary_Guard_Wield",
|
||||
"StaminaCost": {
|
||||
"Value": 20,
|
||||
"CostType": "Damage"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"MaxDurability": 220,
|
||||
"DurabilityLossOnHit": 0.1,
|
||||
"Interactions": {
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+167
@@ -0,0 +1,167 @@
|
||||
{
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Longsword_Mithril.name"
|
||||
},
|
||||
"Categories": [
|
||||
"Items.Weapons"
|
||||
],
|
||||
"Quality": "Epic",
|
||||
"ItemLevel": 50,
|
||||
"Model": "Items/Weapons/Longsword/Mithril.blockymodel",
|
||||
"Texture": "Items/Weapons/Longsword/Mithril_Texture.png",
|
||||
"PlayerAnimationsId": "Longsword",
|
||||
"Interactions": {
|
||||
"Primary": "Longsword_Attack",
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"InteractionVars": {
|
||||
"Longsword_Swing_Left_Effect": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Left_Effect",
|
||||
"Effects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Swing"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Swing_Left_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Left_Damage",
|
||||
"DamageCalculator": {
|
||||
"Type": "Absolute",
|
||||
"BaseDamage": {
|
||||
"Physical": 70
|
||||
},
|
||||
"RandomPercentageModifier": 0.15
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Swing_Right_Effect": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Left_Effect",
|
||||
"Effects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Swing"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Swing_Right_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Right_Damage",
|
||||
"DamageCalculator": {
|
||||
"Type": "Absolute",
|
||||
"BaseDamage": {
|
||||
"Physical": 70
|
||||
},
|
||||
"RandomPercentageModifier": 0.15
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Swing_Up_Left_Effect": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Left_Effect",
|
||||
"Effects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Swing"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Swing_Up_Left_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Swing_Up_Left_Damage",
|
||||
"DamageCalculator": {
|
||||
"Type": "Absolute",
|
||||
"BaseDamage": {
|
||||
"Physical": 70
|
||||
},
|
||||
"RandomPercentageModifier": 0.15
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Longsword_Stab_Charged_Effect": "Longsword_Stab_Charged_Effect",
|
||||
"Longsword_Stab_Charged_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Longsword_Stab_Charged_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Physical": 210
|
||||
},
|
||||
"Type": "Absolute",
|
||||
"RandomPercentageModifier": 0.15
|
||||
},
|
||||
"DamageEffects": {
|
||||
"WorldSoundEventId": "SFX_Longsword_Special_Impact"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"DroppedItemAnimation": "Items/Animations/Dropped/Dropped_Diagonal_Left.blockyanim",
|
||||
"IconProperties": {
|
||||
"Scale": 0.31,
|
||||
"Translation": [
|
||||
-47,
|
||||
-47
|
||||
],
|
||||
"Rotation": [
|
||||
45,
|
||||
90,
|
||||
0
|
||||
]
|
||||
},
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Longsword_Mithril.png",
|
||||
"Tags": {
|
||||
"Type": [
|
||||
"Weapon"
|
||||
],
|
||||
"Family": [
|
||||
"Longsword"
|
||||
]
|
||||
},
|
||||
"MaxDurability": 160,
|
||||
"DurabilityLossOnHit": 0.52,
|
||||
"Weapon": {},
|
||||
"ItemSoundSetId": "ISS_Weapons_Blade_Large"
|
||||
}
|
||||
+314
@@ -0,0 +1,314 @@
|
||||
{
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Shortbow_Cobalt.name"
|
||||
},
|
||||
"Parent": "Template_Weapon_Shortbow",
|
||||
"Quality": "Rare",
|
||||
"Model": "Items/Weapons/Bow/Cobalt.blockymodel",
|
||||
"Texture": "Items/Weapons/Bow/Cobalt_Texture.png",
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Bow_Cobalt.png",
|
||||
"ItemLevel": 35,
|
||||
"Recipe": {
|
||||
"TimeSeconds": 4,
|
||||
"KnowledgeRequired": false,
|
||||
"Input": [
|
||||
{
|
||||
"ItemId": "Ingredient_Bar_Cobalt",
|
||||
"Quantity": 10
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Leather_Heavy",
|
||||
"Quantity": 2
|
||||
},
|
||||
{
|
||||
"ItemId": "Ingredient_Fabric_Scrap_Shadoweave",
|
||||
"Quantity": 3
|
||||
}
|
||||
],
|
||||
"BenchRequirement": [
|
||||
{
|
||||
"Type": "Crafting",
|
||||
"Categories": [
|
||||
"Weapon_Bow"
|
||||
],
|
||||
"Id": "Weapon_Bench",
|
||||
"RequiredTierLevel": 2
|
||||
},
|
||||
{
|
||||
"Type": "DiagramCrafting",
|
||||
"Categories": [
|
||||
"Weapons.Bow"
|
||||
],
|
||||
"Id": "Armory"
|
||||
}
|
||||
]
|
||||
},
|
||||
"InteractionVars": {
|
||||
"Primary_Shoot_Damage_Strength_0": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Primary_Shoot_Damage_Strength_0",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 7
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Primary_Shoot_Damage_Strength_1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Primary_Shoot_Damage_Strength_1",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 11
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Primary_Shoot_Damage_Strength_2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Primary_Shoot_Damage_Strength_2",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 15
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Primary_Shoot_Damage_Strength_3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Primary_Shoot_Damage_Strength_3",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 20
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Primary_Shoot_Damage_Strength_4": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Primary_Shoot_Damage_Strength_4",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 23
|
||||
}
|
||||
},
|
||||
"TargetedDamage": {
|
||||
"Head": {
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 30
|
||||
}
|
||||
},
|
||||
"DamageEffects": {
|
||||
"Knockback": {
|
||||
"Type": "Force",
|
||||
"VelocityConfig": {
|
||||
"AirResistance": 0.99,
|
||||
"AirResistanceMax": 0.98,
|
||||
"GroundResistance": 0.94,
|
||||
"GroundResistanceMax": 0.3,
|
||||
"Threshold": 3.0,
|
||||
"Style": "Linear"
|
||||
},
|
||||
"Direction": {
|
||||
"X": 0.0,
|
||||
"Y": 0.5,
|
||||
"Z": -1
|
||||
},
|
||||
"Force": 8,
|
||||
"VelocityType": "Set"
|
||||
},
|
||||
"WorldParticles": [
|
||||
{
|
||||
"SystemId": "Impact_Critical",
|
||||
"Scale": 1,
|
||||
"RotationOffset": {
|
||||
"Yaw": 180,
|
||||
"Pitch": 0,
|
||||
"Roll": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Signature_Volley_Damage": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Signature_Volley_Damage",
|
||||
"DamageCalculator": {
|
||||
"BaseDamage": {
|
||||
"Projectile": 17
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Guard_Wield": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Weapon_Shortbow_Secondary_Guard_Wield",
|
||||
"StaminaCost": {
|
||||
"Value": 12.22,
|
||||
"CostType": "Damage"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"ItemAppearanceConditions": {
|
||||
"SignatureCharges": [
|
||||
{
|
||||
"Condition": [
|
||||
1,
|
||||
100
|
||||
],
|
||||
"ConditionValueType": "Percent",
|
||||
"Model": "Items/Weapons/Bow/Cobalt_Triple.blockymodel",
|
||||
"Texture": "Items/Weapons/Bow/Cobalt_Texture.png",
|
||||
"LocalSoundEventId": "SFX_Bow_T2_Signature_Loop_Local",
|
||||
"WorldSoundEventId": "SFX_Bow_T2_Signature_Loop",
|
||||
"Particles": [
|
||||
{
|
||||
"SystemId": "Bow_Signature_Charge",
|
||||
"TargetNodeName": "ARROW-PLACEHOLDER",
|
||||
"PositionOffset": {
|
||||
"X": 0.5,
|
||||
"Y": 0.25,
|
||||
"Z": 0
|
||||
},
|
||||
"Scale": 0.5,
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
},
|
||||
{
|
||||
"SystemId": "Bow_Signature_Charge",
|
||||
"TargetNodeName": "ARROW-PLACEHOLDER",
|
||||
"PositionOffset": {
|
||||
"X": 0.5,
|
||||
"Y": 0,
|
||||
"Z": 0
|
||||
},
|
||||
"Scale": 0.5,
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
},
|
||||
{
|
||||
"SystemId": "Bow_Signature_Charge",
|
||||
"TargetNodeName": "ARROW-PLACEHOLDER",
|
||||
"PositionOffset": {
|
||||
"X": 0.5,
|
||||
"Y": -0.25,
|
||||
"Z": 0
|
||||
},
|
||||
"Scale": 0.5,
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
}
|
||||
],
|
||||
"ModelVFXId": "Bow_Signature_Status"
|
||||
}
|
||||
],
|
||||
"SignatureEnergy": [
|
||||
{
|
||||
"Condition": [
|
||||
100,
|
||||
100
|
||||
],
|
||||
"ConditionValueType": "Percent",
|
||||
"Particles": [
|
||||
{
|
||||
"SystemId": "Sword_Signature_Ready",
|
||||
"TargetNodeName": "Handle",
|
||||
"PositionOffset": {
|
||||
"X": 0.8
|
||||
},
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
},
|
||||
{
|
||||
"SystemId": "Sword_Signature_Status_Spawn",
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
},
|
||||
{
|
||||
"SystemId": "Bow_Signature_Status",
|
||||
"TargetNodeName": "Bow-Top",
|
||||
"PositionOffset": {
|
||||
"X": 0.55
|
||||
},
|
||||
"TargetEntityPart": "PrimaryItem",
|
||||
"Scale": 1.3
|
||||
},
|
||||
{
|
||||
"SystemId": "Bow_Signature_Status",
|
||||
"TargetNodeName": "Bow-Bot",
|
||||
"TargetEntityPart": "PrimaryItem",
|
||||
"Scale": 1.3
|
||||
}
|
||||
],
|
||||
"FirstPersonParticles": [
|
||||
{
|
||||
"SystemId": "Sword_Signature_Ready",
|
||||
"TargetNodeName": "Handle",
|
||||
"PositionOffset": {
|
||||
"X": 0.8
|
||||
},
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
},
|
||||
{
|
||||
"SystemId": "Sword_Signature_Status_Spawn",
|
||||
"TargetNodeName": "Handle",
|
||||
"TargetEntityPart": "PrimaryItem",
|
||||
"PositionOffset": {
|
||||
"Y": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"SystemId": "Bow_Signature_Status_FP",
|
||||
"TargetNodeName": "Bow-Top",
|
||||
"PositionOffset": {
|
||||
"X": 0.5
|
||||
},
|
||||
"TargetEntityPart": "PrimaryItem"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"MaxDurability": 150,
|
||||
"DurabilityLossOnHit": 0.58,
|
||||
"Interactions": {
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"TranslationProperties": {
|
||||
"Name": "server.items.Weapon_Staff_Mithril.name"
|
||||
},
|
||||
"Categories": [
|
||||
"Items.Weapons"
|
||||
],
|
||||
"Quality": "Epic",
|
||||
"ItemLevel": 50,
|
||||
"Model": "Items/Weapons/Staff/Mithril.blockymodel",
|
||||
"Texture": "Items/Weapons/Staff/Mithril_Texture.png",
|
||||
"PlayerAnimationsId": "Staff",
|
||||
"Interactions": {
|
||||
"Primary": "Staff_Primary",
|
||||
"Secondary": "Staff_Primary",
|
||||
"Ability1": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability2": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"Ability3": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Type": "mmorpg_cast_ability",
|
||||
"Slot": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"InteractionVars": {
|
||||
"Staff_Cast_Summon_Charged": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Staff_Cast_Summon_Charged",
|
||||
"Costs": {
|
||||
"Mana": 50
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Staff_Cast_Summon_Cost": {
|
||||
"Interactions": [
|
||||
{
|
||||
"Parent": "Staff_Cast_Cost",
|
||||
"StatModifiers": {
|
||||
"Mana": -50
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Staff_Cast_Summon_Launch": "Staff_Cast_Launch",
|
||||
"Staff_Cast_Summon_Effect": "Staff_Cast_Effect",
|
||||
"Staff_Cast_Summon_Fail": "Staff_Cast_Fail",
|
||||
"Spear_Swing_Left_Damage": "Spear_Swing_Left_Damage",
|
||||
"Spear_Swing_Right_Damage": "Spear_Swing_Right_Damage",
|
||||
"Spear_Swing_Left_Effect": "Spear_Swing_Left_Effect",
|
||||
"Spear_Swing_Right_Effect": "Spear_Swing_Right_Effect"
|
||||
},
|
||||
"IconProperties": {
|
||||
"Scale": 0.28,
|
||||
"Translation": [
|
||||
-52,
|
||||
-52
|
||||
],
|
||||
"Rotation": [
|
||||
22.5,
|
||||
45,
|
||||
315
|
||||
]
|
||||
},
|
||||
"DroppedItemAnimation": "Items/Animations/Dropped/Dropped_Diagonal_Left.blockyanim",
|
||||
"Icon": "Icons/ItemsGenerated/Weapon_Staff_Mithril.png",
|
||||
"Tags": {
|
||||
"Type": [
|
||||
"Weapon"
|
||||
],
|
||||
"Family": [
|
||||
"Staff"
|
||||
]
|
||||
},
|
||||
"Weapon": {},
|
||||
"ItemSoundSetId": "ISS_Weapons_Wood"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"Debug": false,
|
||||
"DefaultLevel": 1,
|
||||
"MaxPlayers": 500,
|
||||
"BaseXpPerLevel": 100,
|
||||
"KillExperience": 10,
|
||||
"Database": {
|
||||
"FileName": "mmorpg.db"
|
||||
},
|
||||
"Features": {
|
||||
"Economy": true,
|
||||
"Quests": false,
|
||||
"Guilds": false
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE IF NOT EXISTS player_profiles (
|
||||
uuid TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
level INTEGER NOT NULL DEFAULT 1,
|
||||
experience INTEGER NOT NULL DEFAULT 0,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL
|
||||
);
|
||||
@@ -0,0 +1,63 @@
|
||||
-- MMORPG progression schema: classes, powers, jobs, races, groups.
|
||||
-- New columns on player_profiles. SQLite ignores duplicate ADD COLUMN guarded by
|
||||
-- the migration runner (each migration is applied at most once via schema_migrations).
|
||||
|
||||
ALTER TABLE player_profiles ADD COLUMN class_id TEXT;
|
||||
ALTER TABLE player_profiles ADD COLUMN powers TEXT NOT NULL DEFAULT '[]';
|
||||
ALTER TABLE player_profiles ADD COLUMN jobs TEXT NOT NULL DEFAULT '[]';
|
||||
ALTER TABLE player_profiles ADD COLUMN guild_id TEXT;
|
||||
ALTER TABLE player_profiles ADD COLUMN group_id TEXT;
|
||||
ALTER TABLE player_profiles ADD COLUMN is_connected INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE player_profiles ADD COLUMN total_time_play INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE player_profiles ADD COLUMN last_date_connected INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE player_profiles ADD COLUMN date_creation INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE player_profiles ADD COLUMN money INTEGER NOT NULL DEFAULT 0;
|
||||
ALTER TABLE player_profiles ADD COLUMN race_id TEXT NOT NULL DEFAULT 'human';
|
||||
|
||||
-- Backfill creation date for profiles that predate this migration.
|
||||
UPDATE player_profiles SET date_creation = created_at WHERE date_creation = 0;
|
||||
|
||||
-- Reference tables (definitions persisted for inspection / future editing).
|
||||
CREATE TABLE IF NOT EXISTS classes (
|
||||
id TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
weapons TEXT NOT NULL DEFAULT '[]'
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS powers (
|
||||
id TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
passive INTEGER NOT NULL DEFAULT 1
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS jobs (
|
||||
id TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT ''
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS races (
|
||||
id TEXT PRIMARY KEY,
|
||||
display_name TEXT NOT NULL,
|
||||
description TEXT NOT NULL DEFAULT '',
|
||||
xp_multiplier REAL NOT NULL DEFAULT 1.0
|
||||
);
|
||||
|
||||
-- Groups (parties): shared XP between members.
|
||||
CREATE TABLE IF NOT EXISTS groups (
|
||||
id TEXT PRIMARY KEY,
|
||||
owner_uuid TEXT NOT NULL,
|
||||
created_at INTEGER NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS group_members (
|
||||
group_id TEXT NOT NULL,
|
||||
player_uuid TEXT NOT NULL,
|
||||
joined_at INTEGER NOT NULL,
|
||||
PRIMARY KEY (group_id, player_uuid),
|
||||
FOREIGN KEY (group_id) REFERENCES groups(id) ON DELETE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_group_members_player ON group_members(player_uuid);
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"Group": "com.disklexar",
|
||||
"Name": "MMORPG",
|
||||
"Version": "0.4.7",
|
||||
"Description": "Serveur MMORPG Hytale — progression, persistance et systèmes sociaux",
|
||||
"Authors": [
|
||||
{
|
||||
"Name": "Disklexar"
|
||||
}
|
||||
],
|
||||
"Website": "https://github.com/disklexar/hytale-mmorpg",
|
||||
"DisabledByDefault": false,
|
||||
"IncludesAssetPack": true,
|
||||
"Dependencies": {},
|
||||
"OptionalDependencies": {},
|
||||
"ServerVersion": "*",
|
||||
"Main": "com.disklexar.mmorpg.MmorpgPlugin"
|
||||
}
|
||||
Reference in New Issue
Block a user